我使用的是Python 3.6。当我尝试使用pip3安装“模块”时,我遇到了这个问题:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available
我使用的是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安装工作再次正常。
其他回答
在尝试自己编译python后,仍然缺乏ssl模块,我最终尝试从apt安装缺少的模块,就像这样:
安装python3-openssl
对于未来试图解决这个问题的Oracle Linux用户,下面是对我有用的方法。 首先安装缺少的库:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
然后cd到Python3。X库并运行:
make
make install
我在使用Ubuntu、pyenv和pyenv管理的Python 3.8.1时遇到了这个问题。实际上没有办法让pip正确工作,因为每次我试图安装任何东西,包括pip本身,都会出现相同的错误。 最终的解决方案是通过pyenv安装一个更新的版本,在本例中是3.8.6。显然,从3.8.4开始,Python已经准备好开箱运行SSL/TLS,所以一切都很好。
在我的情况下,我在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,重新安装了所有东西。