Ubuntu 22.04下安装Python3.6虚拟环境遇阻求助
解决Ubuntu 22.04下用virtualenv创建Python3.6虚拟环境的wheel报错问题
问题背景
升级到Ubuntu22.04后,执行virtualenv venv -p python3.6创建虚拟环境时,出现Wheel for pip for Python 3.6 is unavailable的异常,尽管日志最后显示环境已创建,但后续使用pip可能出现兼容性问题。
核心原因
Ubuntu22.04官方仓库不再提供Python3.6的相关包(包括适配的pip wheel),而新版virtualenv内嵌的wheel包不兼容Python3.6,导致报错。
解决方案
方法1:创建环境时跳过内嵌seed,手动安装兼容依赖
- 创建无默认依赖的虚拟环境:
virtualenv venv -p python3.6 --no-seed
- 激活虚拟环境:
source venv/bin/activate
- 安装Python3.6兼容的pip、setuptools和wheel(pip21.3.1是支持Python3.6的最后版本):
curl https://bootstrap.pypa.io/pip/3.6/get-pip.py | python pip install setuptools==59.6.0 wheel==0.37.1
方法2:强制virtualenv下载兼容的wheel包
创建环境时添加--download参数,让virtualenv自动下载适配Python3.6的wheel:
virtualenv venv -p python3.6 --download
方法3:改用pyenv管理Python版本(更稳定的长期方案)
- 安装pyenv及其依赖:
sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl git \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
- 安装pyenv:
curl https://pyenv.run | bash
- 配置环境变量(添加到/.bashrc或/.zshrc):
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc
- 重启终端后安装Python3.6:
pyenv install 3.6.15
- 在项目目录设置本地Python版本并创建虚拟环境:
pyenv local 3.6.15 python -m venv venv
长期建议
Python3.6已停止官方维护,建议尽快将项目代码迁移到Python3.8及以上版本,避免后续兼容性和安全问题。
内容的提问来源于stack exchange,提问作者ibarbylev
相关产品推荐
相关产品推荐

