记录一些装库遇到的问题。
包括安装范式,一些特殊库,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中配置了清华镜像,镜像网站的包似乎常有版本缺漏,因此在这里会说”对不起亲亲我们没有这个库“:

在conda环境里添加本地的python conda安装本地库_linux


这个时候就需要由原本的pip命令来安装包。

  • 通过pip 安装numpy 1.18.2
pip install numpy==1.18.2

在conda环境里添加本地的python conda安装本地库_linux_02


注意这里必须是双等号==

  • 检查已安装的包
    命令:
conda list

结果如下:

在conda环境里添加本地的python conda安装本地库_pip_03


可以看到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命令依然能用。
    解决方法:关闭科学上网。检查了一遍应该是关上了,但是可能不彻底,在设置里改一下代理这里就可以了。
  • 在conda环境里添加本地的python conda安装本地库_linux_04

  • ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.
    顾名思义,超时了,在命令中加上–default,可解决
pip --default-timeout=600 install -r requirements.txt

致谢