Ubuntu上Python安装与管理秘籍
Ubuntu系统通常预装Python 3(如Ubuntu 22.04及以上版本默认安装Python 3.10),首先通过终端命令确认现有版本:
python3 --version # 查看Python 3版本
which python3 # 查看Python 3安装路径
若未安装,可通过sudo apt install python3快速安装默认版本。
APT是Ubuntu最便捷的安装方式,适合大多数用户:
sudo apt update && sudo apt upgrade -y
sudo apt install python3
sudo apt install python3.7),部分旧版本可能需要手动启用Universe仓库。若APT仓库中没有所需版本(如Python 3.12),可通过Deadsnakes PPA(由社区维护的第三方源)安装:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12 python3.12-dev python3.12-venv
python3.12 --version
该方式支持安装较新的Python版本,且能自动解决依赖问题。
若需要完全控制编译选项(如启用特定功能、优化性能),可选择源码编译:
sudo apt install build-essential zlib1g-dev libssl-dev libreadline-dev libsqlite3-dev tk-dev libffi-dev liblzma-dev
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
tar -xzvf Python-3.12.0.tgz
cd Python-3.12.0
--enable-optimizations优化性能,-j$(nproc)利用多核加速编译./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall # 不覆盖系统默认python3
python3.12 --version
编译安装耗时较长,但能获得最高定制性。
若需要同时管理多个Python版本(如项目A用3.8,项目B用3.12),pyenv是最强大的工具:
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
curl https://pyenv.run | bash
~/.bashrc(或~/.zshrc)文件末尾export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
保存后执行source ~/.bashrc使配置生效。pyenv install 3.8.12
pyenv install 3.12.0
pyenv global 3.8.12
cd ~/my_project
pyenv local 3.12.0 # 生成.python-version文件
python --version # 显示pyenv管理的当前版本
pyenv的优势在于用户级安装(不影响系统Python),且能无缝切换版本,适合复杂开发环境。
无论使用哪种安装方式,都应通过虚拟环境隔离项目依赖,避免版本冲突:
python3 -m venv myenv # 创建名为myenv的虚拟环境
source myenv/bin/activate # 激活环境(Linux/macOS)
激活后,终端提示符会显示(myenv),此时安装的包仅对当前环境有效。deactivate
pyenv virtualenv创建更便捷的虚拟环境:pyenv virtualenv 3.8.12 myenv38 # 基于Python 3.8.12创建虚拟环境
pyenv activate myenv38 # 激活虚拟环境
虚拟环境是Python开发的最佳实践,能有效解决“依赖地狱”问题。
sudo(但避免对系统Python随意修改)。libssl-dev),可通过sudo apt install <库名>补充。apt)无法运行,可通过sudo update-alternatives --config python3恢复默认版本,或使用pyenv避免修改系统Python。