pip 在 mac 中给出错误 "pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available."

pip gives error "pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available." in mac

编辑:评论中建议的答案或我发现的其他答案主要用于 linux 或使用 brew 安装的默认 python。我面临的问题是使用 pyenv

安装的 python 版本

当我尝试使用 pip 安装任何包时,我收到此错误消息

WARNING: pip is configured with locations that require TLS/SSL, however the SSL module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the SSL certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with URL: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

我正在使用 pyenv、pyenv-virtualenv,我正在尝试使用 python 3.7.0 在 vi​​rtualenv 中安装软件包。几天前它工作正常,我怀疑将我的 macOS 更新到 10.14.6 导致了这个问题。

我在谷歌搜索或 Whosebug 上找不到任何可行的解决方案。有人可以帮我解决这个问题

我认为您可以使用以下命令升级您的 pip 库。

sudo pip3 install --upgrade

然后使用下面的命令安装python3.x

的SSL模块

sudo pip3 install ssl

python -m pip install --upgrade pip3

上面的答案对我不起作用,任何使用 pip 命令都会给我同样的错误。

我终于通过使用 pyenv 重新安装 python3 解决了这个问题

pyenv install 3.7.0

# pyenv: /Users/devbhadurkhadka/.pyenv/versions/3.7.0 already exists
# continue with installation? (y/N) y

谢谢大家的回答

安装 OpenSSL,这将解决问题。

如果您使用的是 Anaconda,那么更喜欢 Ananconda 提示来安装软件包。