赞
踩
【出现问题】
在使用anaconda的时候,为新项目创建了一个新环境,顺利创建后,安装新的python包时出现了CondaSSLError报错,提示信息为:
Collecting package metadata (current_repodata.json): failed
CondaSSLError: OpenSSL appears to be unavailable on this machine.
OpenSSL is required to download and install packages.
Exception:HTTPSConnectionPool(host='mirrors.bfsu.edu.cn', port=443): Max retries exceeded with url: /anaconda/pkgs/main/win-64/current_repodata.json (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))
【疯狂探索】
最开始看到熟悉的HTTLS错误以为是因为代理忘关了,结果确认发现已经关好了。
事情有点奇怪起来。
检查报错信息和新环境,发现环境中基础安装包已经装好了报错的openssl,并且在此之前使用conda安装环境从没有出现过这种情况。
使用pip安装包,顺利实现。
怀疑是安装源的问题,尝试把.condarc换成了清华源
仍然报同一错误,这里可以排除安装源的问题。
激活旧的环境进行测试,同样报错,因此也排除了新环境创建的有问题。
【随意的解决办法】
百度搜了一番没有什么效果,最后骚操作,Conda安装源使用的是HTTP而不是HTTPS,那么再下载和安装包时将不需要OpenSSL库,于是把所有安装源里面的https全部换成了http,治标不治本,但是问题解决了( ・´ω`・ )
【正确的解决办法】
查询github找到了类似的提问
根据下面大家的讨论,基本确定这个错误是由于 anaconda3/DLLs 文件夹中 libcrypto 文件丢失/错位引起的,解决办法就是将D:\Anaconda3\Library\bin 中的
- - libcrypto-1_1-x64.dll
- - libssl-1_1-x64.dll
这两个文件复制到 D:\Anaconda3\DLLs
这样不管是http还是https都可以顺利使用conda install了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。