如何在 Ubuntu 上检查和切换 Python 版本:开发者完整指南

1. 介绍

当在 Ubuntu 上使用 Python 时,管理 Python 版本成为一项重要任务。
Python 经常发布新版本,根据开发环境的不同,您可能需要使用不同的版本。

然而,Ubuntu 可能已经安装了多个 Python 版本,导致以下情况:
“想要检查当前的 Python 版本”
“想要使用特定的版本”
“想要切换 Python 版本”
这些情况经常出现。

本文将详细说明如何在 Ubuntu 上检查、修改和切换 Python 版本
文中附带命令示例,即使是初学者也能轻松跟随。请务必阅读至全文结束。

2. 如何在 Ubuntu 上检查 Python 版本【立即尝试!】

首先,让我们看看如何检查 Ubuntu 上当前安装的 Python 版本。

2.1 最简方法(1 秒检查)

在 Ubuntu 中检查 Python 版本的最简方法是直接在终端运行以下命令:

python3 --version

您也可以使用以下方式获得相同结果:

python3 -V

示例:

$ python3 --version
Python 3.10.6

这将显示当前的 Python 版本。

2.2 python --versionpython3 --version 的区别

在 Ubuntu 上,python 命令可能指向 Python 2
因此,推荐使用 python3 --version

您可以通过运行以下命令检查是否已安装 python

python --version

如果看到 Command 'python' not found,则可能意味着只安装了 Python 3

2.3 获取详细的版本信息

如果您想获取更详细的信息,请运行:

python3 -VV

示例:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

此命令会显示诸如编译时使用的 GCC 版本和构建日期等细节。

2.4 在脚本内部检查 Python 版本

如果您想在脚本内部检查 Python 版本,可使用 sys 模块:

import sys
print(sys.version)
print(sys.version_info)

示例:

$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

使用 sys.version_info,您可以以数字形式获取版本的每个组成部分(主版本、次版本、微版本)。

3. 如何更改或管理 Python 版本【设置系统默认】

Ubuntu 可能已安装多个 Python 版本。
本节将说明如何更改系统范围内的默认 Python 版本。

3.1 检查已安装的 Python 版本

要检查已安装的 Python 版本,请运行:

ls /usr/bin/python*

示例:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

如果安装了多个版本,您可以选择将哪一个设为默认

3.2 使用 update-alternatives 切换默认 Python

您可以使用 update-alternatives 切换默认的 Python 版本。

首先,检查当前设置:

sudo update-alternatives --display python

如果 python 未注册,可使用以下命令添加:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

然后选择默认版本:

sudo update-alternatives --config python

示例:

There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.10  1         auto mode
  1            /usr/bin/python3.10  1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number:

输入您想切换到的版本对应的编号。

3.3 手动更改符号链接

您也可以手动更改符号链接,而不是使用 update-alternatives

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

这会强制系统范围内的 python 命令使用 python3.10

4. 如何为每个项目切换 Python 版本

在 Ubuntu 上使用 Python 时,您可能希望 为不同的项目使用不同的 Python 版本
例如,一个项目可能需要 Python 3.10,而另一个项目可能需要 Python 3.8
在这种情况下,使用 虚拟环境 (venv) 或 pyenv 非常有用。

本节将说明如何通过虚拟环境和 pyenv 轻松切换 Python 版本。

4.1 使用 venv 按环境管理 Python 版本

Python 提供了 venv(虚拟环境) 作为标准功能。
通过使用虚拟环境,您可以在各个目录中管理不同的 Python 版本或库。

使用 venv 创建虚拟环境

进入您想要创建虚拟环境的目录,然后运行:

python3 -m venv myenv

这将在当前目录下创建名为 myenv 的虚拟环境。

激活虚拟环境

要激活虚拟环境,运行:

source myenv/bin/activate

激活后,终端提示符会发生变化:

(myenv) user@ubuntu:~/project$

激活期间,将使用该环境特定的 Python 版本。

检查环境内的 Python 版本

要检查虚拟环境中的 Python 版本,运行:

python --version

停用虚拟环境

要退出虚拟环境,运行:

deactivate

使用此方法,您可以 为每个项目独立管理 Python 版本和包

4.2 使用 pyenv 管理 Python 版本

虽然 venv 按项目管理 Python,
如果您想在系统范围内自由切换 Python 版本,pyenv 非常方便

安装 pyenv

首先,安装 pyenv
在 Ubuntu 上安装 pyenv,运行:

curl https://pyenv.run | bash

然后使用以下命令应用设置:

exec $SHELL

使用 pyenv 安装 Python 版本

通过 pyenv 安装某个 Python 版本:

pyenv install 3.10.6

查看所有可用的版本:

pyenv install --list

使用 pyenv 切换 Python 版本

更改全局(系统范围)Python 版本:

pyenv global 3.10.6

为特定目录更改 Python 版本:

pyenv local 3.8.10

检查当前 pyenv 管理的 Python 版本

要查看 pyenv 正在管理的 Python 版本,运行:

pyenv versions

这使您能够 轻松为每个项目管理不同的 Python 版本

5. FAQ(故障排除)

以下是管理 Ubuntu 上 Python 版本时常见的问题及排除技巧。

Q1:pythonpython3 有何区别?

在 Ubuntu 上,python3 是标准版本,而 python 可能指向 Python 2。
因此,建议使用 python3 --version

Q2:如果 python --version 显示了意外的版本怎么办?

您可以使用 update-alternativespyenv 更改默认的 Python 版本。

  • 使用 update-alternatives
    sudo update-alternatives --config python
    
  • 使用 pyenv
    pyenv global 3.10.6
    

Q3:为什么 python3 --version 能工作,而 python 却不行?

可能系统中未安装 python 命令。
创建符号链接即可解决:

sudo ln -sf /usr/bin/python3 /usr/bin/python

Q4:如何在 Ubuntu 上删除旧的 Python 版本?

首先,列出已安装的 Python 包:

apt list --installed | grep python

要删除特定的 Python 版本:

sudo apt remove python3.6

Q5:删除旧的 Python 版本会影响 Ubuntu 吗?

某些 Ubuntu 系统工具依赖特定的 Python 版本。
请使用以下命令进行检查:

python3 --version
apt list --installed | grep python

6. 总结与推荐文章

在本指南中,我们介绍了 如何在 Ubuntu 上检查、修改和切换 Python 版本

  • 检查 Python 版本python3 --version
  • 更改系统范围的版本update-alternativesln -sf
  • 为每个项目管理版本venvpyenv

使用 pyenv 可以让 Python 版本管理变得尤为简便。
如果你需要在多个项目之间使用不同的 Python 版本或想更改系统默认版本,尝试使用 pyenv

年収訴求