记录一些装库遇到的问题。
包括安装范式,一些特殊库,bug等
安装范式
首先是万能的装库范式:conda行就conda,conda不行就pip
- 新建一个环境,hhh指名字,python可指定版本,不指定大概会装最新的
conda create -n hhh python==*./.*
另外需要注意的是,最好在base环境下创建新环境,我之前在激活的另外一个环境中创建新环境,建出来后缺胳膊少腿的,只有conda-meta一个文件夹。
- 激活环境
conda activate hhh
即可激活刚建的环境hhh,通过命令
conda activate base
可回到初始base环境
- 通过conda 安装numpy 1.18.2
conda install numpy==1.18.2
这个等号似乎打一个两个都可以。大部分不限定版本的包都可以直接下好。
但由于事先在anaconda中配置了清华镜像,镜像网站的包似乎常有版本缺漏,因此在这里会说”对不起亲亲我们没有这个库“:
这个时候就需要由原本的pip命令来安装包。
- 通过pip 安装numpy 1.18.2
pip install numpy==1.18.2
注意这里必须是双等号==
- 检查已安装的包
命令:
conda list
结果如下:
可以看到numpy1.18.2安装成功。
- 其它问题
这里需要注意的是,有的时候通过pip进行安装,其实包是装在base环境中了,你的新环境hhh依然什么也没有。这种时候,通常是环境里没有pip 包(似乎不在创建命令后加版本设置python=+.+.+就会出问题 ),装上就可以了。
conda install pip
- 再有问题
装了pip之后还不行,这时候要进行一些强行操作。首先找到你anaconda下新建环境hhh的路径,然后强行调用bin文件夹里的pip,示例如下:
~/anaconda3/envs/hhh/bin/pip install numpy==1.18.2
- 再再有问题
暂且没遇到,有了再说。
一些杀千刀的库
- opencv
虽然列表里叫opencv-python,,调用时叫cv2,但是下载命令是
conda install opencv
- skimage
会提示你:
照着做换scikit-image装应当就可以 - pycocotools
先是报错:
于是下载了cpython,但依然报错:
最后通过以下命令解决:
conda install -c conda-forge pycocotools
该方法来自链接https://zhuanlan.zhihu.com/p/350614391下的热心回答。另外此方法仅在linux上试验过,windows上不一定可以。
- tensorflow
这个tensorflow,它不是下载不下来的问题,它是那种,很特别的那种,你电脑里有但就是import不出来.gif。
通过改变路径来解决:
输入:
vim ~/.bashrc
将打开的文档拉到最底下,加上四行:
export PATH=$PATH:/home2/MATLAB/Matlabbin:/usr/local/cuda-9.0/bin
export LD_LBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/lib64/stubs:/usr/local/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/hdf5/serial
export PYTHONPATH=$PYTHONPATH:/usr/local
然后输入命令刷新环境:
source ~/.bashrc
应当就可以用了
一些奇怪的bug
- ValueError: check_hostname requires server_hostname【1】
使用pip命令批量安装的时候突然报错,conda命令依然能用。
解决方法:关闭科学上网。检查了一遍应该是关上了,但是可能不彻底,在设置里改一下代理这里就可以了。 - ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.
顾名思义,超时了,在命令中加上–default,可解决
pip --default-timeout=600 install -r requirements.txt
致谢