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

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

当前回答

我试着:

python -m pip install --upgrade pip

在那之后,它在Windows 10中工作得很好。

其他回答

在我的情况下,我在Linux上的$PATH遇到了问题。这也可能发生在MacOS上。

检查/usr/bin/pip3 install package_name_goes_here是否适合您。如果是,那么运行 这将告诉您pip3安装在哪个目录中。

如果它类似于/usr/local/bin/pip3,与/usr/bin/pip3不同,那么您可能需要调整您的$PATH。

运行 echo $PATH并复制结果。

PATH只是一个冒号分隔的包含目录的目录列表。Bash将始终返回您试图执行的程序的第一个实例。将所有系统目录移到前面。下面是一些系统目录的列表:

/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

如果失败,则验证您已经安装了openssl,运行openssl version -a如果没有,则安装openssl。

我也有同样的问题,这是因为我改变了环境的文件夹。 我只是移除了env,重新安装了所有东西。

对于OpenSUSE,以同样的方式,但对上面列出的包做了一些更改:

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

然后cd到Python源代码dir和

make
make install

or

make
make altinstall

也许

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

应该为OpenSUSE用户执行。请参见Python 3.7安装无法在openSUSE Leap 42.3上工作

这就是默认ssl设置的问题。你需要下载Python3并将路径添加到你的系统中。如果使用Pycharm,请将解释器设置为python3路径。然后可以正常使用pip3而不会出现错误。

最新的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特定的。