Ubuntu22.04下Pyenv管理的Python3.8.13 pip安装模块失败(SSL缺失)
解决Python 3.8.13 ssl模块缺失导致pip无法使用HTTPS的问题
步骤1:安装Python编译所需的完整依赖
先确保系统上安装了所有编译Python需要的依赖,尤其是SSL相关组件:
sudo apt update sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
步骤2:清除现有Python 3.8.13并重新编译
先卸载pyenv中的Python 3.8.13:
pyenv uninstall 3.8.13
设置编译环境变量,指定Ubuntu 22.04的OpenSSL路径(确保编译时正确链接):
export CFLAGS="-I/usr/include/openssl" export LDFLAGS="-L/usr/lib/x86_64-linux-gnu"
重新安装Python 3.8.13:
pyenv install 3.8.13
步骤3:验证ssl模块是否正常
启用该Python版本后,进入Python交互环境检查:
pyenv global 3.8.13 python -c "import ssl; print(ssl.OPENSSL_VERSION)"
如果能正常输出OpenSSL版本号(比如OpenSSL 3.0.2 15 Mar 2022),说明ssl模块已正常加载。
步骤4:测试pip安装
现在尝试重新安装poetry:
pip install poetry
补充说明
如果问题仍存在,检查是否有干扰SSL路径的环境变量,执行env | grep SSL查看,确保没有冲突设置。Ubuntu 22.04的OpenSSL 3.x与Python 3.8的兼容性依赖编译时的路径配置,上述步骤中指定CFLAGS和LDFLAGS是解决核心。
内容的提问来源于stack exchange,提问作者csingleton19
相关产品推荐
相关产品推荐

