发布于2026-07-05 阅读(0)
扫一扫,手机访问
在Ubuntu系统里折腾Python,说白了就两个场景:要么跟着系统走,用APT老老实实装官方支持的版本;要么搞开发,用pyenv或conda自己做版本管理,免得把系统底层搞崩了。这两种思路,对应的方法完全不一样,咱们一个一个说。
APT是Ubuntu的亲儿子包管理器,适合装那些系统已经收录的Python版本(比如Python 3.8+),操作简单,依赖自动处理,省心。
sudo apt update
这行命令同步软件源里的最新包信息,确保后续安装或升级能拿到最新的版本——相当于先去菜市场看看今天进了什么菜。
sudo apt upgrade
它会升级系统中所有能升级的包。如果系统自带的python3有更新,这里就会一并处理。
如果想装一个具体的版本,得先确认软件源里有它(Ubuntu 22.04+的默认仓库一般已经包含较新的版本):
sudo apt install python3.11
装完后用python3.11 --version验证一下。
系统里如果同时存在多个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版本,完全不影响系统自带的那个。
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源码准备的。
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.6
pyenv会自动下载并编译。版本号可以换成你想要的。
pyenv global 3.11.6pyenv local 3.11.6python --version
pyenv versions
第一条看当前在用的版本,第二条列出所有已安装的版本以及当前激活的是哪个。
pyenv uninstall 3.10.12
conda是Anaconda/Miniconda附带的包管理器,数据科学项目里经常碰到,它可以创建隔离环境,顺便把Python版本也管了。
从官网下载Linux版的Miniconda安装脚本:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
按提示完成,重启终端。
conda create --name myenv python=3.10
这条命令创建了一个叫myenv的环境,里面Python版本是3.10。
conda activate myenv
激活后终端提示符前面会显示环境名,这时候你用的Python就是环境里指定的版本。
conda activate myenv
conda update python
conda会自动把环境内的Python升级到最新的兼容版本。
conda deactivate
如果你需要某个特定版本(比如Python 3.12 alpha),或者想自定义编译选项(比如启用TLS 1.3),那就得走源码编译这条路。
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
去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
./configure --enable-optimizations
--enable-optimizations开启PGO(Profile-Guided Optimization),能提升运行性能,但编译时间会变长。
make -j $(nproc)
sudo make altinstall
用altinstall而不是install,是为了避免覆盖系统默认的python3符号链接,防止搞崩系统。
python3.11 --version
make altinstall,别用make install。sudo apt update && sudo apt upgrade,让系统包保持最新,能减少很多莫名其妙的依赖问题。venv(Python自带)或conda创建虚拟环境,这是避免项目间依赖打架最有效的办法:python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txtgnome-terminal)可能依赖特定版本的Python,修改默认Python版本前最好确认一下兼容性,别图省事把事情搞复杂了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8