我使用的是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
当前回答
我在使用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。
如果您已经通过scoop安装了anaconda,并且在conda环境中使用pip时遇到此错误,您可以通过…
将这些添加到路径中
C:\Users\YOUR_USERNAME\scoop\apps\anaconda3\current
C:\Users\YOUR_USERNAME\scoop\apps\anaconda3\current\Scripts
C:\Users\YOUR_USERNAME\scoop\apps\anaconda3\current\Library
C:\Users\YOUR_USERNAME\scoop\apps\anaconda3\current\Library\bin
通过scoop安装openssl
scoop install openssl
并从..复制以下dll。\anaconda3\Library\bin到..\anaconda3\ dll
引用:
https://stackoverflow.com/a/54897379 https://stackoverflow.com/a/60405693
问题可能来自您安装的openssl包版本。这就是我的情况,我解决了这个问题,只是升级它。我在Mac OS上,使用brew:
brew upgrade openssl
如果你用brew安装了python,这应该会直接修复这个问题,因为python依赖于openssl
我在Visual Studio Code从VS Code提示安装pylint时遇到了这个问题。 通过打开Anaconda安装目录并运行,我能够克服这个问题
pip install pylint
然后VS Code很高兴,但这并没有解决运行时的问题
& C:/Users/happy/Anaconda3/python.exe -m pip install -U pylint
基本上都给出了相同的错误,所以看起来VS Code无法访问python模块。
注意,VS Code在安装时选择了它看到的第一个python env,屏幕的左下角表示正在使用哪个env。单击该区域可以设置环境。所以即使你在一个环境中运行pip安装,VS Code也可能会看到一个不同的环境。
最好的方法是确保VS代码选择了正确的python环境,并且相同的环境在系统路径中(在系统属性->高级->环境变量下)
在Path变量下,编辑并浏览到你想要VSCode使用并添加到Path的特定Anaconda目录,我需要添加以下内容:
C:\Users\happy\Anaconda3\
C:\Users\happy\Anaconda3\Scripts\
C:\Users\happy\Anaconda3\Library\bin\
C:\Users\happy\Anaconda3\Library\mingw-w64\bin\
您的Anaconda安装目录可能不同。 需要注意的是,Windows直到重新启动终端才使PATH变量生效。在这种情况下,关闭并重新操作VS代码。如果使用终端或PS Shell,则关闭并重新打开并检查路径,以确保它包括在内。
对于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上工作