在 Ubuntu 上安装特定版本的 Python 可以通过以下几种方法实现。以下介绍两种常用的方法:使用 deadsnakes PPA 和使用 pyenv 工具。
deadsnakes PPAdeadsnakes 是一个专门为 Ubuntu 提供多个 Python 版本的 PPA(个人包档案)。通过添加 deadsnakes PPA,你可以轻松安装和管理不同版本的 Python。
更新系统包列表
sudo apt update
安装 software-properties-common(如果尚未安装)
sudo apt install software-properties-common
添加 deadsnakes PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
查看可用的 Python 版本
apt-cache madison python3
这将列出所有通过 deadsnakes PPA 提供的 Python 3 版本。例如:
3.8 | 589 ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 Packages
3.8.10-0ubuntu1~20.04 | 589 ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 Packages
3.8.11-0ubuntu1~20.04 | 589 ppa.launchpad.net/deadsnakes/ppa/ubuntu focal/main amd64 Packages
...
安装特定版本的 Python
例如,安装 Python 3.8.11:
sudo apt install python3.8
验证安装
python3.8 --version
输出应为 Python 3.8.11。
使用 PPA 安装的 Python 版本不会覆盖系统默认的 Python 版本。你可以通过 python3.8 来使用新安装的版本。
如果需要安装其他工具(如 pip),可以单独安装:
sudo apt install python3.8-venv python3.8-dev
pyenv 工具pyenv 是一个流行的工具,用于在同一台机器上安装和管理多个 Python 版本。它允许你在不同项目中轻松切换 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
下载并安装 pyenv
使用 git 克隆 pyenv 仓库:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
配置环境变量
将以下内容添加到你的 ~/.bashrc 或 ~/.zshrc 文件中:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
然后重新加载配置:
exec $SHELL
安装所需版本的 Python
例如,安装 Python 3.8.11:
pyenv install 3.8.11
设置全局默认 Python 版本(可选)
pyenv global 3.8.11
这将设置 3.8.11 为全局默认的 Python 版本。如果你只想在特定项目中使用,可以跳过此步骤。
验证安装
python --version
输出应为 Python 3.8.11。
pyenv install 安装多个 Python 版本,并使用 pyenv local 或 pyenv shell 在不同项目中切换版本。pip:pyenv 会自动为每个安装的 Python 版本安装对应的 pip。pyenv 需要在每次打开新的终端会话时加载环境变量,因此确保已将相关配置添加到你的 shell 配置文件中。以上两种方法各有优缺点:
deadsnakes PPA:适合需要通过系统包管理器管理 Python 版本的用户,操作简单,但版本选择相对有限。pyenv:更适合需要灵活管理多个 Python 版本的用户,功能强大,但安装步骤稍复杂。根据你的具体需求选择合适的方法进行安装即可。