商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Ubuntu系统Python安装更新与升级

Ubuntu系统Python安装更新与升级

  发布于2026-07-05 阅读(0)

扫一扫,手机访问

在Ubuntu系统里折腾Python,说白了就两个场景:要么跟着系统走,用APT老老实实装官方支持的版本;要么搞开发,用pyenvconda自己做版本管理,免得把系统底层搞崩了。这两种思路,对应的方法完全不一样,咱们一个一个说。

一、使用APT包管理器更新/升级Python

APT是Ubuntu的亲儿子包管理器,适合装那些系统已经收录的Python版本(比如Python 3.8+),操作简单,依赖自动处理,省心。

1. 更新系统包列表

sudo apt update

这行命令同步软件源里的最新包信息,确保后续安装或升级能拿到最新的版本——相当于先去菜市场看看今天进了什么菜。

2. 升级所有可升级包(包括Python)

sudo apt upgrade

它会升级系统中所有能升级的包。如果系统自带的python3有更新,这里就会一并处理。

3. 安装特定版本的Python(如Python 3.11)

如果想装一个具体的版本,得先确认软件源里有它(Ubuntu 22.04+的默认仓库一般已经包含较新的版本):

sudo apt install python3.11

装完后用python3.11 --version验证一下。

4. 设置默认Python版本(可选)

系统里如果同时存在多个Python 3版本,可以用update-alternatives来指定默认的那个:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo update-alternatives --config python3

--config执行后会列出所有可选版本,输入对应的编号就行了。

二、使用pyenv管理多个Python版本

pyenv是开发者圈子里用得比较多的工具,它可以在用户级别安装、切换多个Python版本,完全不影响系统自带的那个。

1. 安装依赖

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

这一长串依赖,是为了编译Python源码准备的。

2. 安装pyenv

curl https://pyenv.run | bash

一个脚本搞定下载和安装。

3. 配置环境变量

把下面的内容追加到~/.bashrc(或者~/.zshrc)末尾:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

保存后运行source ~/.bashrc生效。

4. 安装指定Python版本

pyenv install 3.11.6

pyenv会自动下载并编译。版本号可以换成你想要的。

5. 切换Python版本

  • 全局设置(所有终端都生效):
    pyenv global 3.11.6
  • 局部设置(只在当前目录生效,很适合项目隔离):
    pyenv local 3.11.6

6. 验证版本

python --version
pyenv versions

第一条看当前在用的版本,第二条列出所有已安装的版本以及当前激活的是哪个。

7. 卸载版本(可选)

pyenv uninstall 3.10.12

三、使用conda管理Python环境(适合数据科学)

conda是Anaconda/Miniconda附带的包管理器,数据科学项目里经常碰到,它可以创建隔离环境,顺便把Python版本也管了。

1. 安装Miniconda

从官网下载Linux版的Miniconda安装脚本:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

按提示完成,重启终端。

2. 创建Python环境并指定版本

conda create --name myenv python=3.10

这条命令创建了一个叫myenv的环境,里面Python版本是3.10。

3. 激活环境

conda activate myenv

激活后终端提示符前面会显示环境名,这时候你用的Python就是环境里指定的版本。

4. 升级环境内Python版本

conda activate myenv
conda update python

conda会自动把环境内的Python升级到最新的兼容版本。

5. 退出环境

conda deactivate

四、从源码编译安装Python(高级用户)

如果你需要某个特定版本(比如Python 3.12 alpha),或者想自定义编译选项(比如启用TLS 1.3),那就得走源码编译这条路。

1. 安装编译依赖

sudo apt update
sudo apt install -y 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

2. 下载Python源码

去Python官网下载目标版本的源码包(比如Python-3.11.6.tgz),然后解压:

wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz
tar -xf Python-3.11.6.tgz
cd Python-3.11.6

3. 配置编译选项

./configure --enable-optimizations

--enable-optimizations开启PGO(Profile-Guided Optimization),能提升运行性能,但编译时间会变长。

4. 编译并安装

make -j $(nproc)
sudo make altinstall

altinstall而不是install,是为了避免覆盖系统默认的python3符号链接,防止搞崩系统。

5. 验证安装

python3.11 --version

注意事项

  • 源码编译安装的Python和系统自带的互不干扰,但依赖需要自己手动管理。
  • 再次强调:永远用make altinstall,别用make install

五、常见问题与建议

  1. 依赖冲突:升级前先跑一遍sudo apt update && sudo apt upgrade,让系统包保持最新,能减少很多莫名其妙的依赖问题。
  2. 项目隔离:使用venv(Python自带)或conda创建虚拟环境,这是避免项目间依赖打架最有效的办法:
    python3 -m venv myenv
    source myenv/bin/activate
    pip install -r requirements.txt
  3. 系统兼容性:Ubuntu的一些系统服务(比如gnome-terminal)可能依赖特定版本的Python,修改默认Python版本前最好确认一下兼容性,别图省事把事情搞复杂了。
  4. 备份数据:升级前备份重要的项目文件和虚拟环境,万一出点意外,至少能快速恢复。
本文转载于:https://www.yisu.com/ask/53745601.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注