Debian系统更新Python的常用方法
APT是Debian及其衍生发行版(如Ubuntu)的默认包管理工具,操作简单且能自动处理依赖关系。
sudo apt update
sudo apt upgrade python3
/etc/apt/sources.list文件,添加以下行(以Debian 11 "Bullseye"为例):deb http://deb.debian.org/debian bullseye-backports main
sudo apt update
sudo apt install -t bullseye-backports python3.10
python3 --version # 或 python3.10 --version(若安装了特定版本)
pyenv是用户级工具,可在同一系统上安装和管理多个Python版本,不影响系统默认Python。
curl https://pyenv.run | bash
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
~/.bashrc或~/.zshrc)中。echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc # 重新加载配置
pyenv install 3.11.6
pyenv global 3.11.6
cd /path/to/your/project
pyenv local 3.11.6
python --version # 显示当前pyenv管理的Python版本
若官方仓库或Backports中没有所需版本,可从Python官网下载源码编译安装。
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
tar -xzf Python-3.12.0.tgz
cd Python-3.12.0
make altinstall避免覆盖系统默认Python。./configure --enable-optimizations
make -j $(nproc) # 使用所有CPU核心加速编译
sudo make altinstall # 安装为python3.12,不覆盖系统python3
python3.12 --version
若系统安装了多个Python版本,可通过update-alternatives工具切换默认版本。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 # 添加Python 3.8
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2 # 添加Python 3.10
sudo update-alternatives --config python3
系统会列出所有已添加的Python版本,输入对应编号选择默认版本。python3 --version
venv或virtualenv创建项目专属虚拟环境,避免全局Python更新影响其他项目。python3 -m venv myenv # 创建虚拟环境
source myenv/bin/activate # 激活环境
pip install --upgrade pip # 更新pip
pip list --outdated # 查看过时依赖
pip install --upgrade <package_name> # 更新依赖