在运行 Conda Update --all
的中途,更新停止。多个软件包已更新。现在,当我运行 conda update --all
或 conda update conda
时,我得到以下响应:
(C:\Users\*****\AppData\Local\Continuum\Anaconda3) C:\Users\*****>conda update conda
Fetching package metadata ...
CondaHTTPError: HTTP None None for url <None>
Elapsed: None
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
SSLError(SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),),)
我已经重复 conda update conda
多天了,结果没有任何变化。我可以看到没有 HTTP,但是 conda info --a
显示了频道 URL。
(C:\Users\*****\AppData\Local\Continuum\Anaconda3) C:\Users\*****>conda info -a
Current conda install:
platform : win-64
conda version : 4.3.13
conda is private : False
conda-env version : 4.3.13
conda-build version : 2.1.5
python version : 3.5.3.final.0
requests version : 2.13.0
root environment : C:\Users\*****\AppData\Local\Continuum\Anaconda3 (writable)
default environment : C:\Users\*****\AppData\Local\Continuum\Anaconda3
envs directories : C:\Users\*****\AppData\Local\Continuum\Anaconda3\envs
C:\Users\*****\AppData\Local\conda\conda\envs
C:\Users\*****\.conda\envs
package cache : C:\Users\*****\AppData\Local\Continuum\Anaconda3\pkgs
C:\Users\*****\AppData\Local\conda\conda\pkgs
channel URLs : https://conda.anaconda.org/anaconda-fusion/win-64
https://conda.anaconda.org/anaconda-fusion/noarch
https://repo.continuum.io/pkgs/free/win-64
https://repo.continuum.io/pkgs/free/noarch
https://repo.continuum.io/pkgs/r/win-64
https://repo.continuum.io/pkgs/r/noarch
https://repo.continuum.io/pkgs/pro/win-64
https://repo.continuum.io/pkgs/pro/noarch
https://repo.continuum.io/pkgs/msys2/win-64
https://repo.continuum.io/pkgs/msys2/noarch
config file : C:\Users\*****\.condarc
offline mode : False
user-agent : conda/4.3.13 requests/2.13.0 CPython/3.5.3 Windows/7 Windows/6.1.7601
如何让 conda update
调用正确的 HTTP 地址?
我的原始答案被标记为重复,因为我用相同的答案回答了类似的问题,我不知道这是不允许的。我已将我的其他回复标记为重复。希望这能保持下去!
我几乎花了两天时间兜圈子,尝试了我在 Internet 上可以找到的所有解决方案,但这对我有用。
因此,CondaHTTPError
aka SSL module is not available
错误是由 anaconda3/DLLs 文件夹中的 libcrypto 文件丢失/错位引起的:
Tl;博士:
从 anaconda3\Library\bin 复制以下文件并将它们粘贴到 anaconda3/DLLs 中:
- libcrypto-1_1-x64.dll
- libssl-1_1-x64.dll
详细解答:
卸载您拥有的任何 Python 版本(例如 Python 3.7 或 Python 3.8)转到控制面板--> 程序和功能--> 选择 Python-->
卸载
卸载您可能拥有的任何 Anaconda 版本(例如 Anaconda 或 miniConda) 对于 Anaconda:转到控制面板--> 程序和功能--> 选择 Anaconda--> 卸载对于 miniConda 转到控制面板--> 程序和功能-->选择 miniconda--> 卸载删除任何剩余的环境变量转到控制面板--> 系统-> 高级系统设置(左侧)--> 在系统属性中单击环境变量按钮--> 在用户变量中选择路径和单击编辑按钮--> 删除与 Anaconda、miniConda 或 Python 相关的任何路径。例如 C:\Users\Bob \AppData\Local\Programs\Anaconda\... C:\Users\Bob \AppData\Local\Programs\miniconda\...如果您没有看到任何与 Anaconda、miniConda 或 Python 相关的路径;你已准备好出发。重启你的机器 下载最新版本的 Anaconda 运行安装程序;保留所有默认设置 转到您的 anaconda3/library/bin 文件夹:EgC:\Users\Bob\AppData\Local\Continuum\anaconda3\Library\bin 复制这些文件:libcrypto-1_1-x64.dll libssl-1_1-x64。 dll 将这些粘贴到 anaconda3/DLLs 文件夹中:重新打开 Anaconda Prompt 并使用任何需要 Internet 连接的命令进行测试。例如 conda update conda 或使用 conda update --all
在命令行中使用以下代码:
conda config --set ssl_verify no
conda config --set ssl_verify yes
检查您是否位于具有 HTTPS/SSL 代理的公司防火墙后面。如果是这样,您可能需要将 .condarc
中的行从 ssl_verify: true
更改为 ssl_verify: false
。
或者,按照评论中 th0masb 的建议,使用以下命令:
conda config --set ssl_verify false
尝试以管理员身份启动 Anaconda Prompt(在启动前单击鼠标右键),然后执行相同的命令。
从此站点安装最新的 OpenSSl:https://slproweb.com/products/Win32OpenSSL.html 当前最新版本是 1.1.1。现在我可以通过 pip 和 conda 成功安装包了。
我在 Mac OS X 和 Miniconda 上遇到了同样的问题。在尝试了许多建议的解决方案几个小时后,我发现我需要正确设置 Condas 环境以使用我公司提供的根证书,而不是使用 Conda 提供的通用证书。
这是我解决它的方法:
打开 Chrome,访问任何网站,单击 URL 左侧的锁定图标。点击下拉菜单中的«证书»。在下一个窗口中,您会看到一堆证书。最上面的(也就是窗口中的顶行)是根证书(例如,在我的例子中,Zscaler Root CA,你的很可能是不同的)。打开 Mac OS 钥匙串,点击 «Certificates» 并在众多证书中选择您刚刚确定的根证书。将其导出到您选择的任何文件夹。使用 openssl 转换此证书: openssl x509 -inform der -in /path/to/your/certificate.cer -out /path/to/converted/certificate.pem 快速检查设置您的 shell 以确认证书:export REQUESTS_CA_BUNDLE= /path/to/converted/certificate.pem 要永久设置它,请打开您的 shell 配置文件(.bshrs 或例如 .zshrc)并添加以下行:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem。现在退出您的终端/外壳并重新打开。再检查一遍。
您应该设置好,并且 Conda 应该可以正常工作。
PS:我知道 OP 可以在 Windows 上运行。尽管如此,我还是把这个解决方案留在这里,因为我认为它可以帮助解决根本原因。
requests
而这个环境变量 是 的配置方式。
输入“conda config --show”查看配置信息,确保channel中的地址可以正常访问。
在您的 conda update 命令中启用“k”标志。例如,
conda update anaconda-navigator -k
这将允许 conda 建立不安全的连接来下载包。当您在代理服务器后面时,这尤其有用。
我正在使用 python 3.7.4,我刚刚下载了 conda 并尝试设置 tensorflow 但收到 http 错误。我尝试了上面提到的几个步骤,但它解决了我的问题。我通过首先激活 conda 解决了它。如果您是第一次使用 conda,您需要使用 conda init 命令激活它,然后禁用 SSL 验证 conda config --set ssl_verify false 在上述步骤之后,我的 tfp 设置工作完美!!!
从 https://curl.haxx.se/ca/cacert.pem 下载 cacert.pem,
保存到 /this/is/cert/path
打开 ~/.bashrc 或您拥有的任何配置文件
添加导出 REQUESTS_CA_BUNDLE=/this/is/cert/path ...
打开新终端
康达更新康达
您应该检查位于 Miniconda3/Anaconda3
根目录中的 .condarc
文件。应该有一行只有一个连字符。此行对应于 None
通道。删除该行为我解决了这个问题。
对于上述错误类型,您必须删除环境变量中的代理。为此,请按照以下步骤操作:-
打开环境变量窗口==>>>>>
要进行本文中显示的许多编辑,您首先需要打开“环境变量”窗口。本指南说明如何打开此窗口并向您展示有关使用环境变量的基础知识: 简单问题:什么是 Windows 中的环境变量?
https://i.stack.imgur.com/6PAbN.png
在此您必须选择具有代理的那个,然后删除,然后单击确定。现在重新启动您的 Anaconda 提示符。它对我有用;我希望它也对你有用。祝你好运
尝试从(基本)环境中输入“conda update conda”
Anaconda3 提供的 DLL 位于此处:D:\Anaconda3\Library\bin
我的解决方法:我复制了以下文件
libcrypto-1_1-x64.* libssl-1_1-x64.* 从 D:\Anaconda3\Library\bin 到 D:\Anaconda3\DLLs。
它是一种魅力!
我遇到了同样的错误,我尝试了大多数方法,但都没有奏效。我检查了 anaconda3 的版本,它是 4.2.0,我意识到它处于测试阶段,这可能是原因。
我通过卸载所有内容并安装最新版本(5.1.0)解决了这个问题。在那之后它起作用了。
在阅读了太多绕着圈子跑的帖子之后,我找到了一个简单的解决方案,至少可以解决我对这个问题的看法,这也应该对根本原因有所了解。
Using sudo of same command (see below)
conda create -n tensorenviron
(下面的输出)解决环境:完成
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/r/osx-64/repodata.json.bz2>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.
SSLError(MaxRetryError('HTTPSConnectionPool(host=\'repo.anaconda.com\', port=443): Max retries exceeded with url: /pkgs/r/osx-64/repodata.json.bz2 (Caused by SSLError("Can\'t connect to HTTPS URL because the SSL module is not available."))'))
sudo conda create -n tensorenviron
(下面输出)密码:解决环境:完成
## Package Plan ##
environment location: /Users/damonw/anaconda3/envs/tensorenviron
Proceed ([y]/n)? y
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use:
# > source activate tensorenviron
#
# To deactivate an active environment, use:
# > source deactivate
#
我也遇到了同样的问题,并手动按照这些步骤来达到预期的结果。你可以输入--> https://repo.anaconda.com/pkgs/main/win-64/ 你可以安装任何你想要的包,然后:你可以写信给 Anaconda Prompt -->
conda install C:\Users\xxxx\Downloads\xlrd-1.2.0-py37_0.tar.bz2
祝你好运!
以防万一其他人被公司代理卡住并且之前的答案不起作用,请尝试 changing your proxies。有趣的是,我已经在我的环境变量中设置了我的代理,但是出于某种原因删除它们然后重新创建它们对我有用。
就我而言,这是阻止安装的代理服务器设置。关闭代理服务器,然后连接到不同的 WiFi 让它为我工作!
我通过更改代理解决了这个问题。改变
https_proxy=https://xxx.xxx
至
https_proxy=http://xxx.xxx
让它工作。
不定期副业成功案例分享