发布于2026-07-13 阅读(0)
扫一扫,手机访问
Ubuntu 上更新 Python,听起来是个小操作,但如果手一抖直接换了系统自带的 /usr/bin/python3,后面的麻烦事可不少——依赖系统工具的脚本可能就罢工了。所以,今天聊三个靠谱的路径:用 APT 装新版本、用 pyenv 灵活管理、以及从源码编译。优先推荐前两种,尤其是日常开发和服务器运维场景,尽量别碰系统级 Python 的“老巢”。

这是最直接的办法,适合只想用一个官方包管理版本的情况。
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.11
python3,别用覆盖,用 update-alternatives 注册:sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo update-alternatives --config python3
python3 --version
python3.11 --version
如果你只是想升级现有 Python 的小版本(比如 3.10.4 → 3.10.12),直接 sudo apt upgrade python3 就够了。跨大版本(比如 3.10 → 3.11)必须装新包 + 切换 alternatives。
这个方案的好处是——不碰系统 Python,想装几个版本就装几个,项目之间随意切。先装编译依赖:
sudo apt update
sudo apt install -y make 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
安装 pyenv 本身:
curl https://pyenv.run | bash
然后把这几行加到 ~/.bashrc 或 ~/.zshrc:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
记得 source ~/.bashrc 生效。之后安装和切换版本就很简单了:
pyenv install 3.11.11
pyenv global 3.11.11 # 全局默认
pyenv local 3.11.11 # 仅当前项目
验证:python --version 和 pyenv versions。pyenv 可以配合 pyenv-virtualenv 管理虚拟环境,非常灵活。
这个方法适合需要特定编译优化、或者官方仓库里没有的版本。先装好编译套件:
sudo apt update
sudo apt install -y build-essential checkinstall libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev liblzma-dev
下载源码并编译,以 3.11.11 为例:
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz
sudo tar xzf Python-3.11.11.tgz
cd Python-3.11.11
./configure --enable-optimizations
make -j "$(nproc)"
sudo make altinstall
这里必须强调:用 make altinstall 而不是 make install,这样就会生成 python3.11 命令,但不会覆盖系统的 python3。如果非要设为默认,还是走 update-alternatives 那条路。
验证:python3.11 --version。
装完之后,用这几条命令确认:
python3 --version
python3.x --version # 替换为实际版本号
# 如果用 pyenv,则用 pyenv versions
常见坑点:
python3.11;或者用 alternatives 配置默认。sudo apt update,必要时添加 deadsnakes PPA。/usr/bin/python3,用 alternatives 或 pyenv 隔离。python3.x -m venv .venv 创建隔离环境。无论走哪条路,虚拟环境都是必须的:
python3.x -m venv .venv
source .venv/bin/activate
如果要从旧环境迁移依赖,先 pip freeze > requirements.txt,新环境直接 pip install -r requirements.txt。变更前备份关键项目,最好在测试环境先跑一遍。为每个关键项目单独锁定 Python 版本和依赖版本,能少踩很多坑。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8