发布于2026-07-14 阅读(0)
扫一扫,手机访问
聊聊Ubuntu上更新Python这事儿。很多开发者,尤其是刚接触Linux的朋友,都会遇到这个问题:系统自带的Python版本太旧,或者项目需要3.11、3.12甚至更新的版本,该怎么办?别急,办法不少,关键看你的使用场景——是想快速升级、用上新特性,还是想为开发环境做精细化管理。下面把这几种主流方案拆开来聊聊。

APT是Ubuntu默认的包管理工具,操作最直接,适合想“一键搞定”的用户。具体来说,可以这样操作:
sudo apt update。sudo apt upgrade。sudo apt install python3;如果已经装了,这个命令会自动帮你升级到仓库中可用的最新版本。python3 --version,确认更新成功。这种方法省心,但有个局限:Ubuntu官方仓库的Python版本往往不是最新,可能比社区发布的版本滞后几个月。
想用上Python 3.9+这些较新版本?Dead Snakes PPA是个好帮手。这个PPA(Personal Package Archive)专门收录了多个Python版本的安装包,比官方仓库及时得多。步骤也不复杂:
sudo add-apt-repository universe && sudo apt update。sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update,搞定。sudo apt install python3.11。update-alternatives工具:先注册新版本(sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1),再手动切换(sudo update-alternatives --config python3),按提示选择对应编号即可。这个方案平衡了“版本新”和“操作简单”,适合大多数日常使用场景。
如果你是开发者,经常要在不同项目间切换Python版本,那pyenv几乎是不二之选。它在用户级别操作,不会碰系统默认的Python,灵活又安全。操作步骤如下:
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。别被长度吓到,直接复制粘贴就行。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(或source ~/.zshrc)使配置生效。pyenv install 3.10.12,下载编译一气呵成。pyenv global 3.10.12(所有终端生效);只在当前项目目录下用,则pyenv local 3.10.12(会自动生成.python-version文件)。python --version,就能看到pyenv管理的版本生效了。pyenv最大的好处是隔离性强,项目级别的版本控制做得很干净,强烈推荐给有多个项目需求的开发者。
如果对性能优化有极致追求,或者想用上最新的稳定版(比如刚发布的3.12.0),从源码编译是硬核玩家的选择。注意,这套流程对编译环境有一定要求:
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev curl。wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz。tar -xf Python-3.12.0.tgz && cd Python-3.12.0。./configure --enable-optimizations;然后并行编译:make -j $(nproc)($(nproc)会自动用上所有CPU核心,速度飞起)。sudo make altinstall,千万别写成make install,否则会覆盖系统默认的python3命令,引发系统依赖问题。python3.12 --version,新版本就位。源码编译虽然更折腾,但可以按需定制编译选项,适合对性能或特定模块有特殊要求的场景。
venv或virtualenv为每个项目创建隔离环境,避免依赖冲突。比如python3 -m venv myenv && source myenv/bin/activate,几秒钟就能建好一个干净的空间。pip freeze > requirements.txt导出依赖清单,切换到新环境后通过pip install -r requirements.txt重新安装,这样能提前发现问题。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8