ChatGPT解决这个技术问题 Extra ChatGPT

conda 更新 CondaHTTPError:HTTP 无

在运行 Conda Update --all 的中途,更新停止。多个软件包已更新。现在,当我运行 conda update --allconda 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 地址?

我遇到了同样的错误,但在我的情况下,是 bitdefender 防病毒软件中的防火墙导致了问题。我在安装的 Ubuntu 22.04(Linux 的 Windows 子系统)上使用 miniconda3,所以 bitdefender 不知何故没有将其识别为合法软件。制定规则允许 svchost.exe 后,一切正常。将此评论留给面临相同问题的任何人。

P
Pardesi_Desi

我的原始答案被标记为重复,因为我用相同的答案回答了类似的问题,我不知道这是不允许的。我已将我的其他回复标记为重复。希望这能保持下去!

我几乎花了两天时间兜圈子,尝试了我在 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


你只是拯救了我的一天:竖起大拇指
在全新安装 miniconda 后创建我的第一个环境时,TLDR 为我做了这件事,谢谢
就我而言,我还必须将 libssl-1_1-x64.dll 和 pdb 从 \anaconda3\Library\bin 移动到 \anaconda3\DLLs
这适用于全新安装的 anaconda 并从第 7 步开始。
这对我有用
H
HISI

在命令行中使用以下代码:

conda config --set ssl_verify no

请注意,这会使您面临一些非常严重的攻击。
@BallpointBen @Bharatwaja 完成后如何扭转这种情况以避免攻击?只是下面的代码? conda config --set ssl_verify yes
Pardesi_desi 的答案适用于 Win10/Win2K19
H
Henry Ecker

检查您是否位于具有 HTTPS/SSL 代理的公司防火墙后面。如果是这样,您可能需要将 .condarc 中的行从 ssl_verify: true 更改为 ssl_verify: false

或者,按照评论中 th0masb 的建议,使用以下命令:

conda config --set ssl_verify false

这对我有用,更具体地说是命令: conda config --set ssl_verify false
如下文其他答案所述,这使您容易受到严重攻击
我怎么做?
非常喜欢。它为我解决了问题(在尝试了许多其他建议之后......)
谢谢!它解决了我的 HTTP 问题并使用 conda 加快了下载包的速度。
J
Jeru Luke

尝试以管理员身份启动 Anaconda Prompt(在启动前单击鼠标右键),然后执行相同的命令。


为我工作 - 特别是使用 Anaconda 提示。早些时候我使用的是 Windows PowerShell,它不断抛出上述错误。
S
S Gaber

从此站点安装最新的 OpenSSlhttps://slproweb.com/products/Win32OpenSSL.html 当前最新版本是 1.1.1。现在我可以通过 pip 和 conda 成功安装包了。


在我的机器上安装 OpenSSL 没有帮助。 Pardesi_Desi 的答案(从第 7 步开始)效果很好。
p
petezurich

我在 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 上运行。尽管如此,我还是把这个解决方案留在这里,因为我认为它可以帮助解决根本原因。


你是我的英雄。这对我有用,但我能够导出到 pem 并跳过 openssl 步骤。
这也是正确的解决方案,conda 依赖于 requests 而这个环境变量 的配置方式。
h
haik

输入“conda config --show”查看配置信息,确保channel中的地址可以正常访问。


J
JMAA

在您的 conda update 命令中启用“k”标志。例如,

conda update anaconda-navigator -k

这将允许 conda 建立不安全的连接来下载包。当您在代理服务器后面时,这尤其有用。


V
Vilas

我正在使用 python 3.7.4,我刚刚下载了 conda 并尝试设置 tensorflow 但收到 http 错误。我尝试了上面提到的几个步骤,但它解决了我的问题。我通过首先激活 conda 解决了它。如果您是第一次使用 conda,您需要使用 conda init 命令激活它,然后禁用 SSL 验证 conda config --set ssl_verify false 在上述步骤之后,我的 tfp 设置工作完美!!!


Z
Zangetsu

从 https://curl.haxx.se/ca/cacert.pem 下载 cacert.pem,

保存到 /this/is/cert/path

打开 ~/.bashrc 或您拥有的任何配置文件

添加导出 REQUESTS_CA_BUNDLE=/this/is/cert/path ...

打开新终端

康达更新康达


a
ascripter

您应该检查位于 Miniconda3/Anaconda3 根目录中的 .condarc 文件。应该有一行只有一个连字符。此行对应于 None 通道。删除该行为我解决了这个问题。


D
Deepak Meghwal

对于上述错误类型,您必须删除环境变量中的代理。为此,请按照以下步骤操作:-

打开环境变量窗口==>>>>>

要进行本文中显示的许多编辑,您首先需要打开“环境变量”窗口。本指南说明如何打开此窗口并向您展示有关使用环境变量的基础知识: 简单问题:什么是 Windows 中的环境变量?

https://i.stack.imgur.com/6PAbN.png

在此您必须选择具有代理的那个,然后删除,然后单击确定。现在重新启动您的 Anaconda 提示符。它对我有用;我希望它也对你有用。祝你好运


S
SunnyM

尝试从(基本)环境中输入“conda update conda”


k
keshav swami

Anaconda3 提供的 DLL 位于此处:D:\Anaconda3\Library\bin

我的解决方法:我复制了以下文件

libcrypto-1_1-x64.* libssl-1_1-x64.* 从 D:\Anaconda3\Library\bin 到 D:\Anaconda3\DLLs。

它是一种魅力!


P
Parth Jatakia

我遇到了同样的错误,我尝试了大多数方法,但都没有奏效。我检查了 anaconda3 的版本,它是 4.2.0,我意识到它处于测试阶段,这可能是原因。

我通过卸载所有内容并安装最新版本(5.1.0)解决了这个问题。在那之后它起作用了。


R
Ravi Yadav

有关详细信息,请参阅 link

请更新到最新版本的 Navigator。

在导航器上单击界面右上角的更新按钮或终端类型

$ conda update anaconda-navigator


D
DamonW999

在阅读了太多绕着圈子跑的帖子之后,我找到了一个简单的解决方案,至少可以解决我对这个问题的看法,这也应该对根本原因有所了解。

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
#

d
dboy

我也遇到了同样的问题,并手动按照这些步骤来达到预期的结果。你可以输入--> https://repo.anaconda.com/pkgs/main/win-64/ 你可以安装任何你想要的包,然后:你可以写信给 Anaconda Prompt -->

conda install C:\Users\xxxx\Downloads\xlrd-1.2.0-py37_0.tar.bz2

祝你好运!


h
havingaball

以防万一其他人被公司代理卡住并且之前的答案不起作用,请尝试 changing your proxies。有趣的是,我已经在我的环境变量中设置了我的代理,但是出于某种原因删除它们然后重新创建它们对我有用。


D
DIVYA RATHOD

就我而言,这是阻止安装的代理服务器设置。关闭代理服务器,然后连接到不同的 WiFi 让它为我工作!


s
skankhunt76

我通过更改代理解决了这个问题。改变

https_proxy=https://xxx.xxx

https_proxy=http://xxx.xxx

让它工作。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅