异常处理:Anaconda安装package

异常1:PackagesNotFoundError: The following packages are not available from current channels:

conda install X出现找不到X包问题,如下所示:默认的channels里找不到。

image-20210812120520953

解决方案1:用pip install X 来安装X包,发现可以找到包并下载,然后等待能否successfully。

如果出现一直等待的Installing build dependencies ...

这里应该是缺少Python 依赖,可以尝试添加新镜像:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

之后再试一下能否正常安装X包:Python是否可以import。

如果出现pip的warning:

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

因为pip安装第三方库需要ssl模块,而python默认安装ssl功能是不可用的.

image-20210812114141766

解决方法1-1:针对pip is configured with locations that require TLS/SSL问题:重新编译Python3安装文件,加上--with-ssl参数让pip3使用SSL功能。

# 重新编译安装
./configure --enable-optimizations --with-ssl

注意:可以参考:异常处理pip is configured with locations that require TLS/SSL

解决方法1-2:针对pip is configured with locations that require TLS/SSL问题:更换pip源,即添加国内镜像。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

国内一些常用的软件源如下:

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣:http://pypi.douban.com/simple/

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/

注意:添加这个国内镜像,可能会与你已经存在的来自conda-forge的包产生冲突,因为版本不统一,就造成import一个包(来自国内镜像)时,因为需要另几个包(可能来自conda-forge和Anaconda默认镜像)的支持,而引发导入错误,所以还是统一下。

个人还是推崇用default的,虽然下载比较慢,但是版本更新及时且很少有冲突。因为吃过清华源的亏。

如果嫌麻烦,安装了Anaconda的请看解决方案2.

解决方案2:不要终端命令了,直接使用Anaconda Navigator界面Environments里手动添加吧。

image-20210812120632314

如果安装成功,检查下Python里能否import了,如果import不成功,又出幺蛾子了,那就继续修行。可以看异常2了。

异常2: RuntimeError: Cython extensions are unavailable. Without them, this gensim functionality is disabled.

这个是我在安装gensim时出错,这个之前在Windows上就经常安装报错,这次在macOS M1芯片上依旧坑了。

利用miniforge3创建的conda环境(base) [/Users/dan/miniforge3/bin/python]是可以通过pip install gensim安装成功且可以import的。如下所示。

image-20210812145820491

但是在自己创建的虚拟环境(py38)[/Users/dan/miniforge3/envs/py38/bin/python]下就报错了。

Anaconda上显示安装成功,但是import时就不行了。

image-20210812124409612

然后卸了,重新pip install gensim 装下。就出现异常1-1中的warning以及Could not fetch URL https://pypi.org/simple/gensim/。

image-20210812150503943

看起来貌似是证书的错误,后面又好像是URL来源的问题,那就换成国内的pip源试一试。默认的是:

image-20210812153938339

 pip install gensim -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com 

然后就成功了。

image-20210812151511470

然后验证下吧。

image-20210812151651963

有个小warning,根据提示再把这个安装下就好了。

image-20210812155454629

参考1

参考2

总结

Anaconda安装package过程中出现的问题:

  • 第一种,package安装失败:一般先使用conda install来安装,如果失败,就用pip install.一般是defaults里找不到合适的版本,使用pip镜像就能找到。
  • 第二种,package安装成功但是无法import:这个可能和虚拟环境、依赖的包、Python设置、pip和pip3等有关系了。比如pip的SSL问题等。需要根据错误提示来操作。
posted @ 2021-08-12 17:08  MissHsu  阅读(3699)  评论(0编辑  收藏  举报