Ubuntu 18.04安装Python及pip遇ignoring ensurepip failure错误求助
解决Ubuntu 18.04安装Python 3.4.2时的"ignoring ensurepip failure pip requires ssl/tls"错误
我之前在Ubuntu 18.04上折腾Python 3.4.2安装的时候,完完全全碰到过这个问题!这个错误的核心原因是Python编译过程中没有正确关联SSL/TLS依赖库,导致内置的ensurepip工具没法正常工作,自然就装不上pip了。下面是我亲测有效的解决步骤:
1. 安装完整的编译依赖包
首先得把Python编译需要的所有基础依赖都装全,别漏了:
sudo apt update sudo apt install build-essential libssl-dev zlib1g-dev libffi-dev
build-essential提供gcc、make这些核心编译工具libssl-dev是解决本次报错的关键,提供SSL/TLS开发库支持zlib1g-dev处理压缩相关功能,Python很多模块依赖它libffi-dev支持调用C语言编写的外部库
2. 清理旧编译缓存并重新配置
之前你可能已经执行过一次configure和make,残留的缓存会影响新编译,先清理干净:
cd Python-3.4.2 make clean
然后重新配置编译选项,重点要显式指定启用SSL支持(Python 3.4版本需要手动声明,新版本无需此操作):
./configure --prefix=/usr/local/python34 --with-ssl
--prefix=/usr/local/python34指定独立安装路径,避免和系统自带Python冲突,方便后续管理--with-ssl强制让编译过程关联SSL库,这一步直接解决SSL依赖缺失的问题
3. 编译并安装
用多线程编译加快速度,然后执行安装:
make -j$(nproc) # nproc自动识别CPU核心数,最大化编译效率 sudo make install
4. 验证安装结果
安装完成后,检查Python和pip是否正常工作:
# 检查Python版本 /usr/local/python34/bin/python3.4 -V # 检查pip版本 /usr/local/python34/bin/pip3.4 -V
如果还是没看到pip,可以手动触发ensurepip安装:
/usr/local/python34/bin/python3.4 -m ensurepip --upgrade
补充说明
你之前设置的CFLAGS路径是macOS系统下的openssl路径(/usr/local/opt/openssl),但Ubuntu 18.04的openssl开发库默认在系统标准路径里,所以那个环境变量在Ubuntu上不起作用,反而可能干扰编译。直接用--with-ssl配置选项更稳妥。
内容的提问来源于stack exchange,提问作者Sharath
相关产品推荐
相关产品推荐

