我使用的是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
当前回答
我也有同样的问题,这是因为我改变了环境的文件夹。 我只是移除了env,重新安装了所有东西。
其他回答
centos 7:
安装openssl:
sudo yum install openssl-devel
现在进入python目录,在那里我们提取了python tar文件,
运行以下命令
sudo ./configure
sudo make
sudo make install
这将解决centos的问题…
我用的是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之后,它修复了这个问题。
操作系统一样,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安装有点脏,但在我的例子中,它确实有效。可能更干净的方法是删除它,然后正确地重新创建。
最新的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特定的。
我简单地用以下命令解决了这个问题:
Brew升级python@3.9
这个版本默认包含SSL !