我使用的是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
当前回答
问题可能来自您安装的openssl包版本。这就是我的情况,我解决了这个问题,只是升级它。我在Mac OS上,使用brew:
brew upgrade openssl
如果你用brew安装了python,这应该会直接修复这个问题,因为python依赖于openssl
其他回答
我用的是macOS,我用过brew,但Vaulstein在他的回答中提到的并没有涵盖我的情况。
我运行以下命令,以确保我当前的python没有通过brew安装
brew list | grep python
python
python@2
brew info python
python@3.8: stable 3.8.3 (bottled)
Interpreted, interactive, object-oriented programming language
https://www.python.org/
Not installed
...
所以我从https://www.python.org/下载了最新的3.8.5,安装时我看到了以下信息
证书验证和OpenSSL 此包包含自己的私有OpenSSL 1.1.1副本。的 管理的系统和用户密钥链中的信任证书 Python ssl模块不默认使用Keychain Access应用程序和安全命令行实用程序
在安装3.8.5之后,它修复了这个问题。
此问题是由于您的PC上缺少OpenSSL包。
如果pip install openpyxl也给出错误。
你可以通过以下站点安装OpenSSL(Win64 OpenSSL v1.1.1g)来解决这个问题:
slproweb.com/products/Win32OpenSSL.html
重新启动您正在使用的IDE,使更改生效。
你可以去蟒蛇餐厅试试。
你会看到(基础),现在升级pip。 例子:
(base) C:\Users\Tom>cd ..
(base) C:\Users>cd ..
(base) C:\>python -m pip install --upgrade pip
Requirement already up-to-date: pip in g:\anaconda3\lib\site-packages (20.0.2)
(base) C:\>pip -V
pip 20.0.2 from G:\Anaconda3\lib\site-packages\pip (python 3.7)
# Try install
(base) C:\>pip install selenium
这将花费较长的时间,但也将安装或升级Anaconda内部使用的SSL库。继续前进
目前在Windows 10上的Anaconda提示符(Anaconda3)也有同样的问题。这里是解决方案:https://github.com/ContinuumIO/anaconda-issues/issues/10576
操作系统一样,pyenv
如果你的python是pyenv安装的,其中pyenv是在macOS上安装的,可能有一个更新的版本可以修复这个问题:
$ brew update && brew upgrade pyenv
然后重新安装python版本:
$ pyenv install 3.7.2
pyenv: /Users/luckydonald/.pyenv/versions/3.7.2 already exists
continue with installation? (y/N)
注意,像这样覆盖现有的python安装有点脏,但在我的例子中,它确实有效。可能更干净的方法是删除它,然后正确地重新创建。