我使用的是Python 3.6。当我尝试使用pip3安装“模块”时,我遇到了这个问题:

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

当前回答

修复此问题,无需更改任何与TSL/SSL相关的内容。

我试着看看同样的事情是否发生在皮普身上,看到皮普被打破了。我做了一些调查,发现这可能是由于Homebrew在2020年2月1日删除了python@2造成的。

运行brew uninstall python@2,删除Homebrew安装的python2。

销毁了使用python3创建的虚拟环境,并创建了一个新的。Pip3安装工作再次正常。

其他回答

在ubuntu上从源代码安装python 3.8时遇到了这个问题。下面总结了成功安装默认python 3.7所需的步骤:

sudo apt -y install libssl-dev zlib1g-dev build-essential

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xf Python-3.8.0.tgz
cd Python-3.8.0/

./configure --enable-optimizations
make
sudo make altinstall

zlib1g-dev和build-essential的安装说明是多余的,因为ubuntu桌面已经有了这些,但对于Amazon的一些EC2实例来说是必要的。Python 3.8.0是目前的最新版本,但应该被最新的可用版本所取代。

这些指令最适合将python 3.7作为python3的默认值,并在虚拟环境中运行python 3.8。

我在使用Ubuntu、pyenv和pyenv管理的Python 3.8.1时遇到了这个问题。实际上没有办法让pip正确工作,因为每次我试图安装任何东西,包括pip本身,都会出现相同的错误。 最终的解决方案是通过pyenv安装一个更新的版本,在本例中是3.8.6。显然,从3.8.4开始,Python已经准备好开箱运行SSL/TLS,所以一切都很好。

最新的Python 3.8.4或更高版本应该能够支持https协议开箱即用。如果你的电脑上仍然安装了旧的python,要么手动下载并安装python3,要么使用Chocolatey:

如果你没有Chocolatey,安装它-从这里:https://chocolatey.org/docs/installation

您只需复制粘贴一个命令行行,并从命令提示符中使用提升的特权执行它。

choco install python3

如果你没有安装python3,或者你已经安装了python3,那么:

choco upgrade python3

还要注意,你也可以使用anaconda发行版,因为它有内置的支持https的python,但这个相当古老的指令,不需要再遵循它们了。

使用命令行安装anaconda:

choco install anaconda3

设置环境变量:

set PATH=C:\tools\Anaconda3\Scripts;C:\tools\Anaconda3;C:\tools\Anaconda3\Library\bin;%PATH%

然后运行失败的命令。我的情况是:

pip install conan

Anaconda使用单独的python安装,pip也是Anaconda特定的。

如果有人使用Arch Linux操作系统,我通过运行这个解决了TLS/SSL问题:

sudo pacman -S openssl

然后我可以使用pip来安装我需要的包:

pip install openpyxl

Windows 10, Windows 7 如果pip install在CMD提示符下不工作,使用Anaconda提示符运行它-它工作。

https://github.com/pypa/virtualenv/issues/1139