解决ssl|解决ssl module in Python is not available

问题描述:macOS,运行环境 python3,运行虚拟环境 python -m venv venv ,在venv 安装依赖pip install -r requirements.txt ,出现“pip is conifgured with locations that requires TLS/SSL, however the ssl module in Python is not available.”
总结下解决的方法:更新源为国内的(我的情况最后换成了清华源),可以换两个试试。重启IDE。在虚拟环境venv中安装python3的pip,可以尝试重新安装pip。安装、升级openssl。
解决ssl|解决ssl module in Python is not available
文章图片
根据提示信息,pip需要ssl模块,ssl模块又不可用,尝试了网上的很多方法,都不管用,包括
【解决ssl|解决ssl module in Python is not available】更换源为aliyun:在用户目录下新建路径 .pip,再创建文件 ~/.pip/pip.config
官方下载get-pip.py,重新安装pip


chown -R ${whoami} /usr/local/Cellar
注意这里的${whoami}是占位符,根据你实际的用户名填写。不知道的可以在终端输入whoami
brew install openssl
brew upgrade openssl@1.1
解决ssl|解决ssl module in Python is not available
文章图片
解决ssl|解决ssl module in Python is not available
文章图片
该命令将openssl@1.1 1.1.1d 升级为-> 1.1.1g,并且brew cleanup会把过去三十天内没有用的删掉,对一些依赖进行升级、安装一些依赖,关键还把python3.7升级为python3.8了! 还告诉我们python的包安装路径在 /usr/local/lib/python3.8/site-packages,而`python`, `python-config`, `pip` 等等分别默认指向 `python3`, `python3-config`, `pip3` 等等,安装路径在 /usr/local/opt/python@3.8/libexec/bin
赞~写的清清楚楚,明明白白。
解决ssl|解决ssl module in Python is not available
文章图片
但是发现pip -V显示没有pip,并且python get-pip.py也安装不成功。
解决ssl|解决ssl module in Python is not available
文章图片
python -m ensurepip
解决ssl|解决ssl module in Python is not available
文章图片
再次换源,这次换成清华的源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
再次尝试: pip install -r requirements.txt ,顺利安装所有的包,不再报错。
还有,期间重启PycharmIDE也会影响,本来venv下pip一直指向pyhon2.7,操作之后再重启,就指向python3了


参考:
1.Python 3.7 Can't connect to HTTPS URL because the SSLmodule is not available
2. ssl module in python is not available when installing package with pip3(我的情况这里面的答案没什么用)
3. 换源:【Tensorflow】ERROR: Could not find a version that satisfies the requirement tqdm (from versions: none
4. ModuleNotFoundError: No module named 'pip._internal' , pip 无法下载软件 解决办法
5.pip 20.2.2 documentation https://pip.pypa.io/en/stable/installing/#upgrading-pip

    推荐阅读