在安装Python前,建议先检查系统是否已预装Python,避免重复安装导致冲突。打开终端(Ctrl+Alt+T),输入以下命令:
python3 --version
若输出类似Python 3.x.x的版本号,说明系统已安装Python 3;若提示command not found,则需按以下步骤安装。
APT是Ubuntu默认的包管理工具,能自动处理依赖关系,适合大多数用户。
sudo apt update && sudo apt upgrade -y
sudo apt install python3 -y
sudo apt install python3-pip -y
python3 --version  # 查看Python版本
pip3 --version     # 查看pip版本
若输出版本号(如Python 3.10.12、pip 23.3.1),则说明安装成功。
若需要安装Ubuntu官方仓库未提供的Python版本(如3.12),可通过Deadsnakes PPA(Personal Package Archive)扩展软件源。
sudo apt install software-properties-common -y  # 安装add-apt-repository工具
sudo add-apt-repository ppa:deadsnakes/ppa -y   # 添加Deadsnakes PPA
sudo apt update                                 # 更新软件包列表
sudo apt install python3.12 -y
python3.12 --version
若输出Python 3.12.x,则说明安装成功。
若需要完全控制安装路径、优化选项或安装旧版本,可从Python官网下载源码编译。
sudo apt update
sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev wget
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
./configure --enable-optimizations  # 启用性能优化(编译时间较长)
make -j$(nproc)                   # 使用所有CPU核心并行编译(加快速度)
sudo make altinstall  # 使用altinstall而非install,防止覆盖系统默认python3
python3.12 --version
若输出Python 3.12.0,则说明编译安装成功。
若需要同时安装多个Python版本并快速切换,可使用pyenv工具。
curl https://pyenv.run | bash  # 下载并运行pyenv安装脚本
将以下内容添加到~/.bashrc(或~/.zshrc,根据使用的Shell调整)文件末尾:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
保存后运行source ~/.bashrc使配置生效。
pyenv install 3.10.12  # 安装指定版本
pyenv install 3.12.0   # 可同时安装多个版本
pyenv global 3.12.0    # 设置全局默认版本(所有终端生效)
pyenv local 3.10.12    # 在当前目录下使用指定版本(创建.python-version文件)
python --version  # 输出当前pyenv管理的Python版本
通过pyenv versions可查看所有已安装的版本。
为避免不同项目的依赖冲突,建议为每个项目创建虚拟环境。
sudo apt install python3-venv -y
python3 -m venv myenv  # 在当前目录创建名为myenv的虚拟环境
source myenv/bin/activate  # 激活后,终端提示符会显示(myenv)
激活后,所有pip install命令都会将包安装到虚拟环境中,不影响系统Python。
deactivate
以上是Ubuntu系统安装Python的常用方法,可根据需求选择合适的方式。若需更详细的指导,可参考Ubuntu官方文档或Python官网。