Python 3.10.5编译版pip3遇SSL/HTTPS阻塞及模块缺失问题求助
问题解决办法
从报错信息WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available可以明确:编译安装的Python3.10.5缺失SSL模块,这才是核心问题——--trusted-host参数只是跳过证书验证,前提是Python能正常处理HTTPS连接,而缺失SSL模块时连HTTPS连接都无法建立,所以旧方法失效。
以下是可行解决方案:
方案1:重新编译Python3.10.5,补全SSL模块
这是根治问题的方法:
- 先安装系统级SSL依赖包:
- Debian/Ubuntu系统:
sudo apt-get update && sudo apt-get install libssl-dev - RHEL/CentOS系统:
sudo yum install openssl-devel
- Debian/Ubuntu系统:
- 重新编译Python3.10.5:
- 回到Python3.10.5源码目录(若已删除,重新下载Python3.10.5源码并解压)
- 执行配置命令,强制启用SSL支持:
(若系统SSL是自定义安装的,需指定路径:./configure --with-openssl./configure --with-openssl=/usr/local/openssl,路径根据实际情况调整) - 编译并安装:
make && sudo make install
- 验证SSL模块:运行以下命令,若能输出OpenSSL版本号则成功:
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
方案2:改用HTTP源安装(若环境允许HTTP流量)
如果暂时无法重新编译Python,可尝试使用HTTP协议的PyPI源(需确认防火墙允许HTTP流量):
- 用官方HTTP源安装:
pip3 install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --index-url http://pypi.python.org/simple/ cget - 或使用国内HTTP镜像源(如豆瓣,需确认可访问):
pip3 install --trusted-host pypi.douban.com --index-url http://pypi.douban.com/simple/ cget
方案3:离线本地安装
若所有网络流量均被限制,只能离线操作:
- 在可联网的机器上下载cget包:
pip3 download cget - 将下载的
.whl或.tar.gz包通过U盘、内网传输等方式传到目标机器 - 在目标机器上执行本地安装:
(将路径替换为实际包文件的位置)pip3 install /path/to/cget-xxx.whl
内容的提问来源于stack exchange,提问作者mailman
相关产品推荐
相关产品推荐

