Ubuntu 22.04中无法定位python2软件包的求助
解决Python2包找不到的问题
问题原因
Python2已于2020年停止官方维护,新版Ubuntu(20.04及以上)的官方软件源已移除python2包,且ppa:deadsnakes/ppa仓库也不再提供Python2的支持,因此会出现「无法定位包python2」的报错。
可行的安装方法
方法1:源码编译安装(最稳定)
- 先安装编译依赖:
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget - 下载Python2.7.18(最后一个稳定版)源码包:
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz - 解压并进入源码目录:
tar -xf Python-2.7.18.tgz cd Python-2.7.18 - 配置编译选项(指定独立安装路径,避免干扰系统):
./configure --enable-optimizations --prefix=/usr/local/python2 - 编译并安装:
make -j$(nproc) sudo make altinstall - 创建软链接方便全局调用:
sudo ln -s /usr/local/python2/bin/python2.7 /usr/local/bin/python2 sudo ln -s /usr/local/python2/bin/pip2.7 /usr/local/bin/pip2 - 验证安装:
python2 --version pip2 --version
方法2:用pyenv管理多版本Python(最便捷)
- 安装pyenv依赖:
sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl - 安装pyenv:
curl https://pyenv.run | bash - 配置环境变量(以bash为例):
在~/.bashrc末尾添加以下内容:export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" - 刷新配置:
source ~/.bashrc - 安装Python2.7.18:
pyenv install 2.7.18 - 设置全局/局部使用Python2:
# 全局默认使用Python2.7.18 pyenv global 2.7.18 # 仅当前目录使用Python2.7.18 pyenv local 2.7.18 - 验证:
python --version
方法3:添加旧版Ubuntu源(不推荐,有兼容性风险)
若你的系统是新版Ubuntu,可添加Ubuntu 18.04(bionic)的源来获取Python2包:
- 创建旧版源文件:
sudo nano /etc/apt/sources.list.d/bionic.list - 添加以下内容:
deb http://archive.ubuntu.com/ubuntu bionic main universe deb http://archive.ubuntu.com/ubuntu bionic-updates main universe - 更新源并安装:
sudo apt update sudo apt install python2 - 注意:安装后建议注释掉上述bionic源,避免后续系统更新出现依赖冲突。
内容的提问来源于stack exchange,提问作者M. Mariscal
相关产品推荐
相关产品推荐

