📜  如何在 Linux 上更改 Python 版本 - Python (1)

📅  最后修改于: 2023-12-03 15:08:41.823000             🧑  作者: Mango

如何在 Linux 上更改 Python 版本

在使用 Linux 系统进行开发时,经常会遇到需要更改 Python 版本的情况。本文将介绍如何在 Linux 系统中更改 Python 版本的方法。

查看系统自带的 Python 版本

使用以下命令可以查看系统自带的 Python 版本:

python --version

输出类似于以下内容:

Python 2.7.16
安装新版本的 Python

要安装新版本的 Python,我们可以使用系统自带的包管理器或者使用 Python 版本管理器 pyenv 来安装。

使用系统自带的包管理器安装 Python

大多数 Linux 发行版都提供了 Python 的软件包。我们可以使用以下命令来在 Ubuntu 上安装 Python 3:

sudo apt-get update
sudo apt-get install python3

在 CentOS 上则可以使用以下命令安装 Python 3:

sudo yum update
sudo yum install python3
使用 pyenv 安装 Python

pyenv 是一个 Python 版本管理器,它可以让我们轻松地在同一台机器上安装和切换不同的 Python 版本。

以下是在 Ubuntu 上使用 pyenv 安装 Python 3.8.2 的步骤:

安装依赖

首先需要安装一些依赖:

sudo apt-get update
sudo apt-get 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

安装 pyenv 的方法有很多种,这里介绍一种简单的方法:

curl https://pyenv.run | bash

执行完上述命令后,请重新打开终端或者运行以下命令让 pyenv 生效:

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

安装 Python

通过 pyenv install 命令可以安装需要的 Python 版本:

pyenv install 3.8.2

安装完毕后,可以确认一下是否安装成功:

pyenv versions

输出类似于以下内容:

* system (set by /home/user/.pyenv/version)
  3.8.2

切换版本

通过以下命令可以切换 Python 版本:

pyenv global 3.8.2
安装 pip

安装完 Python 后,我们还需要安装 pip 包管理器,以便安装其他的 Python 包。在 Ubuntu 和 CentOS 上,可以使用以下命令安装:

sudo apt-get install python3-pip    # Ubuntu
sudo yum install epel-release      # CentOS
sudo yum install python3-pip       # CentOS
修改默认 Python 版本

在 Ubuntu 和 CentOS 上,通过以下命令可以修改默认的 Python 版本:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1

注意:上述命令只是修改了 /usr/bin/python 的符号链接,所以请不要手动修改此链接。如果需要取消默认 Python 版本设置,可以使用以下命令:

sudo update-alternatives --remove python /usr/bin/python3
结论

本文介绍了如何在 Linux 上更改 Python 版本,包括安装新版本的 Python 和使用 pyenv 版本管理器安装 Python,以及修改默认 Python 版本。在使用 Python 进行开发时,我们可以通过这些方法来轻松地管理不同的 Python 版本,以满足项目对 Python 版本的要求。