Ubuntu20.04系统Python3.9安装pip报错zlib not available如何解决
问题根本原因
你当前使用的Python3.9是在未安装zlib1g-dev的场景下编译生成的,编译阶段没有检测到zlib依赖,因此最终生成的Python3.9解释器没有内置zlib模块。后续再安装zlib相关组件不会自动补全已编译完成的Python内置模块,这就是get-pip.py持续报错的核心原因。而建议使用yum的方案均面向RHEL/CentOS系发行版,Ubuntu默认包管理器为apt,相关方案不适用。
优先推荐解决方案:使用官方PPA安装预编译的python3.9-pip
无需重新编译Python,操作最简单:
- 先安装依赖工具并添加官方Python版本PPA源:
sudo apt update && sudo apt install software-properties-common -y sudo add-apt-repository ppa:deadsnakes/ppa -y
- 安装Python3.9对应版本的pip:
sudo apt update && sudo apt install python3.9-pip -y
- 验证安装结果,执行以下命令会输出对应Python3.9的pip版本信息:
python3.9 -m pip --version
后续安装FastAPI可直接执行:python3.9 -m pip install fastapi uvicorn
备选解决方案:重新编译Python3.9补全依赖
如果你必须保留当前自行编译的Python3.9版本,可通过重新编译补全所有依赖:
- 先安装Python编译所需的全量依赖,避免后续出现其他缺包问题:
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev -y
- 下载对应版本的Python3.9源码包,解压后进入源码目录,执行编译配置:
./configure --enable-optimizations - 执行编译安装,使用
altinstall避免覆盖系统默认的Python3指向:make altinstall - 编译完成后重新运行
get-pip.py即可正常安装pip,不再报zlib缺失错误。
内容的提问来源于stack exchange,提问作者Tobias S
相关产品推荐
相关产品推荐

