“pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用”

Posted

技术标签:

【中文标题】“pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用”【英文标题】:"pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available" 【发布时间】:2019-06-21 00:41:44 【问题描述】:

我有 anaconda 包并运行 Spyder。这是我的系统信息:

anaconda                  2018.12                  py37_0

Python                    3.7.1

pip                       18.1

Dell Inspiron 13 7000 64-bit

我无法在命令提示符下使用 pip 安装任何东西。例如,我在尝试安装 numpy 时得到以下信息(我已经通过 anaconda 获得了):

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

Requirement already satisfied: numpy in c:\users\uday rallabhandi\anaconda3\lib\site-packages (1.15.4)

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

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

请帮助我理解为什么会这样。

【问题讨论】:

相关:***.com/questions/41328451/… github.com/explosion/spaCy/issues/2208 【参考方案1】:

这是我在带有 Anaconda 的 Windows 10 上纠正错误的过程:

    在我的环境变量中添加了以下路径: /AppData/Local/Continuum/Anaconda3 /AppData/Local/Continuum/Anaconda3/Scripts /AppData/Local/Continuum/Anaconda3/Library /AppData/Local/Continuum/Anaconda3/Library/Bin

在这个阶段,错误信息仍然存在。

    我从 Anaconda Prompt 安装了最新版本的 pip:

    python -m pip install --upgrade pip

这似乎纠正了 DLL 冲突。

【讨论】:

在 Win10 上为我工作。为什么anaconda3默认不将/Library添加到PATH?! 这个解决方案是唯一对我有用的解决方案,非常感谢。赢 10 专业版 该解决方案有效。该文件anaconda3\Library\bin\libssl-1_1-x64.dll 应该在$PATH 也为我工作,但我不必升级 pip (Windows 10)。 @DmitryAvtonomov 我认为 Anaconda 安装程序现在为您提供了是否添加到路径的选项。默认情况下,该选项未选中,“不推荐”【参考方案2】:

我遇到了完全相同的问题。我的电脑完全一样,Python和pip的版本也一样。

这是与 libeay32.dll 的 dll 冲突。

我可以通过在系统环境中添加具有 libeay32.dll(在我的情况下为 C:\Users\Gabriel\Anaconda3\pkgs\openssl-1.1.1a-he774522_0\Library\bin)的 python 的 dir 路径来解决这个问题最高位置。

【讨论】:

我有:.../pkgs/openssl-1.1.1a-he774522_0,但没有 libeay32.dll。 win 8.1 我还能在哪里找到它?【参考方案3】:

尝试使用 pip3 而不是 pip 进行安装/更新。

【讨论】:

【参考方案4】:

我的 bin 文件夹中也没有 libeay32.dll,但是在将 C:\Users\<user name>\Anaconda3\pkgs\openssl-1.1.1a-he774522_0\Library\bin 添加到路径顶部后,它就可以工作了。这是在 Windows 10 64 位上。

【讨论】:

【参考方案5】:

激活您的基础 conda 环境:

conda activate base

【讨论】:

【参考方案6】:

"\Library\bin" 文件夹添加到 PATH 为我解决了这个问题。

【讨论】:

【参考方案7】:

当我在 anaconda 中创建一个新环境、激活它并尝试使用 pip 安装一个库时,我遇到了同样的问题。缺少的是:

conda install pip

然后一切都对我有用。

【讨论】:

【参考方案8】:

激活基础,然后激活我的 Django 环境。

(Django_env) (base) C:\virtual_environment\Django_env> ,这实际上对我有用。

【讨论】:

【参考方案9】:

<Path to miniconda or anaconda>\Library\bin 文件夹添加到PATHcd <Path to miniconda or anaconda>\Library\bin>

【讨论】:

以上是关于“pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用”的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Python3、Ubuntu14.04 中使用 pip 安装 NumPy