【问题标题】:conda update CondaHTTPError: HTTP Noneconda 更新 CondaHTTPError:HTTP 无
【发布时间】:2017-07-22 16:06:09
【问题描述】:

在运行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 地址?

【问题讨论】:

    标签: anaconda conda


    【解决方案1】:

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

    conda config --set ssl_verify no
    

    【讨论】:

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

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

    我几乎花了两天时间兜圈子,尝试了我在 Internet 上可以找到的所有解决方案,但这对我有用。

    所以,CondaHTTPError aka SSL module is not available 错误是由 anaconda3/DLLs 文件夹中的 libcrypto 文件丢失/错位引起的:

    Tl;dr

    anaconda3\Library\bin复制下面的文件并粘贴它们到anaconda3/DLLs

    -   libcrypto-1_1-x64.dll
    -   libssl-1_1-x64.dll 
    

    详细解答

    1. 卸载您拥有的任何 Python 版本(例如 Python 3.7 或 Python 3.8)

      进入控制面板-->程序和功能-->选择Python-->

    卸载

    1. 卸载您可能拥有的任何 Anaconda 版本(例如 Anaconda 或 miniConda) 对于蟒蛇:

      转到控制面板--> 程序和功能-->选择Anaconda-->卸载

      对于迷你康达

      转到控制面板--> 程序和功能--> 选择miniconda--> 卸载

    2. 删除任何剩余的环境变量

      转到控制面板--> 系统--> 高级系统设置(左侧)--> 系统属性点击环境变量按钮-->在用户变量中选择路径并点击编辑 按钮--> 删除任何与 Anaconda、miniConda 或 Python 相关的路径。

      E.g.
      C:\Users\Bob \AppData\Local\Programs\Anaconda\...
      C:\Users\Bob \AppData\Local\Programs\miniconda\...
      

      b.如果您没有看到任何与 Anaconda、miniConda 或 Python 相关的路径;你可以走了。

    3. 重启你的机器

    4. 下载最新版Anaconda

    5. 运行 安装程序;保留所有默认设置

    6. 转到您的anaconda3/library/bin文件夹

      例如C:\Users\Bob\AppData\Local\Continuum\anaconda3\Library\bin

    7. 复制这些文件

      libcrypto-1_1-x64.dll

      libssl-1_1-x64.dll

    8. 粘贴这些anaconda3/DLLs文件夹中

    9. 重新打开 Anaconda Prompt and test 使用任何需要 Internet 连接的命令。 例如。 conda update conda 或与 conda update --all

    【讨论】:

    • 你只是拯救了我的一天:竖起大拇指
    • 在全新安装 miniconda 后创建我的第一个环境时,TLDR 为我完成了这项工作,谢谢
    • 就我而言,我还必须将 libssl-1_1-x64.dll 和 pdb 从 \anaconda3\Library\bin 移动到 \anaconda3\DLLs
    • 这适用于全新安装的 anaconda 并从第 7 步开始。
    • 这项工作适合我
    【解决方案3】:

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

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

    conda config --set ssl_verify false
    

    【讨论】:

    • 这对我有用,更具体地说是命令: conda config --set ssl_verify false
    • 正如下面其他答案中所说,这使您容易受到严重攻击
    • 我该怎么做?
    • Tkx 非常喜欢。它为我解决了问题(在尝试了许多其他建议之后......)
    【解决方案4】:

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

    【讨论】:

    • 为我工作 - 特别是使用 Anaconda 提示符。之前我使用的是 Windows PowerShell,它不断抛出上述错误。
    【解决方案5】:

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

    【讨论】:

    • 在我的机器上安装 OpenSSL 没有帮助。 Pardesi_Desi 的答案(从第 7 步开始)效果很好。
    【解决方案6】:

    我在 Mac OS X 和 Miniconda 上遇到了同样的问题。在尝试了许多建议的解决方案几个小时后,我发现我需要正确设置 Condas 环境以使用我公司提供的根证书,而不是使用 Conda 提供的通用证书。

    我是这样解决的:

    1. 打开Chrome,进入任意网站,点击左侧的锁形图标 的网址。点击下拉菜单中的«证书»。下一个 窗口你会看到一堆证书。最上面的(又名顶线 在窗口中)是根证书(例如,在我的情况下,Zscaler Root CA, 你的很可能是不同的)。
    2. 打开 Mac OS 钥匙串,点击 «Certificates» 并在众多证书中选择您刚刚确定的根证书。将其导出到您选择的任何文件夹。
    3. 使用 openssl 转换此证书:openssl x509 -inform der -in /path/to/your/certificate.cer -out /path/to/converted/certificate.pem

    4. 如需快速检查,请设置您的 shell 以确认证书:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem

    5. 要永久设置此设置,请打开您的 shell 配置文件(.bshrs 或例如 .zshrc)并添加以下行:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem。现在退出您的终端/外壳并重新打开。再次检查。

    您应该已设置好,Conda 应该可以正常工作。

    PS:我知道 OP 可以在 Windows 上运行。尽管如此,我还是将这个解决方案留在这里,因为我认为它可以帮助解决根本原因。

    【讨论】:

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

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

    【讨论】:

      【解决方案8】:

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

      conda update anaconda-navigator -k
      

      这将允许 conda 建立不安全的连接来下载包。这在您使用代理服务器时特别有用。

      【讨论】:

        【解决方案9】:

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

        【讨论】:

          【解决方案10】:
          • https://curl.haxx.se/ca/cacert.pem下载cacert.pem
          • 保存到/this/is/cert/path
          • 打开~/.bashrc 或您拥有的任何profile 文件
          • 添加export REQUESTS_CA_BUNDLE=/this/is/cert/path ...
          • 打开新终端
          • conda update conda

          【讨论】:

            【解决方案11】:

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

            【讨论】:

              【解决方案12】:

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

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

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

              如果您想跳过阅读,在所有版本的 Windows 中都可以使用的一种方法是打开控制面板并转到“系统和安全 -> 系统”。在那里,单击或点击左侧的“高级系统设置”链接。系统属性窗口打开。在那里单击环境变量按钮。

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

              【讨论】:

                【解决方案13】:

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

                【讨论】:

                  【解决方案14】:

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

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

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

                  它就像一个魅力!

                  【讨论】:

                    【解决方案15】:

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

                    我通过卸载所有内容并安装最新版本 (5.1.0) 解决了这个问题。之后就成功了。

                    【讨论】:

                      【解决方案16】:

                      详情请参考link

                      请更新到最新版本的 Navigator。

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

                      $ conda update anaconda-navigator

                      【讨论】:

                        【解决方案17】:

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

                        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
                        #
                        

                        【讨论】:

                          【解决方案18】:

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

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

                          祝你好运!

                          【讨论】:

                            【解决方案19】:

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

                            【讨论】:

                              【解决方案20】:

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

                              【讨论】:

                                【解决方案21】:

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

                                https_proxy=https://xxx.xxx
                                

                                https_proxy=http://xxx.xxx
                                

                                让它工作。

                                【讨论】:

                                  猜你喜欢
                                  • 2022-12-25
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2017-07-29
                                  • 2019-06-26
                                  • 2020-07-02
                                  相关资源
                                  最近更新 更多