重要前提:检查你的系统环境
在开始之前,请务必确认以下几点:

-
Python 3 已安装:你的系统上已经安装了 Python 3,你可以通过运行以下命令来检查:
python3 --version
如果这个命令能正确显示 Python 3 的版本号(
Python 3.9.7),说明 Python 3 已经安装好了。 -
确定 Python 3 的路径:你需要知道
python3可执行文件的具体位置,可以使用which命令来查找:which python3
输出结果通常类似于
/usr/bin/python3或/usr/local/bin/python3。记下这个路径,我们稍后会用到。
(图片来源网络,侵删) -
检查现有的
python命令:看看当前系统默认的python命令指向哪里。which python
- 如果输出是
/usr/bin/python2.7或类似的 Python 2 路径,说明你需要进行更改。 - 如果输出已经是
/usr/bin/python3或你想要的 Python 3 路径,那么恭喜你,它已经是默认的了! - 如果提示
python not found,说明系统没有python命令,你可以直接创建它。
- 如果输出是
为当前用户创建别名 (Alias) - 最简单安全
这是最推荐给普通用户的方法,因为它只影响你当前的终端会话,不会影响系统其他部分,也无需管理员权限。
-
打开你的 shell 配置文件:
- 如果你使用 Bash (Linux/macOS 默认),请编辑
~/.bashrc或~/.bash_profile文件。 - 如果你使用 Zsh (macOS Catalina 及以后版本默认),请编辑
~/.zshrc文件。
你可以使用任何文本编辑器,
nano:
(图片来源网络,侵删)nano ~/.bashrc
- 如果你使用 Bash (Linux/macOS 默认),请编辑
-
在文件末尾添加以下行:
alias python='python3'
这行命令的意思是:在当前 shell 环境中,每当输入
python时,都自动替换成python3。 -
保存并退出文件:
- 在
nano中,按Ctrl + X,然后按Y确认保存,最后按Enter。
- 在
-
让配置生效: 在终端中运行以下命令,或者直接重新打开一个新的终端窗口:
source ~/.bashrc # 如果用的是 Zsh,则运行 source ~/.zshrc
-
验证: 现在检查一下
python命令:which python python --version
which python应该会显示python3的路径,python --version会显示 Python 3 的版本。
优点:
- 安全,不会破坏系统工具。
- 只对你当前用户生效。
- 操作简单,可逆(只需从配置文件中删除那一行即可)。
缺点:
- 只在当前终端会话有效,某些图形界面应用程序或后台服务可能不会读取这个别名。
创建符号链接 - 更彻底的方法
这个方法会修改系统级的 PATH 路径,让 python 命令直接指向 python3。这需要管理员权限 (sudo),并且有风险,可能会破坏依赖 Python 2 的系统工具。
⚠️ 警告: 在执行此操作前,请确保你了解其潜在风险,对于大多数现代 Linux 发行版(如 Ubuntu 20.04+, Debian 10+),系统工具已经不再依赖 python 命令指向 Python 2,所以此方法通常是安全的,但在 macOS 或一些旧版系统上要格外小心。
-
找到
python3的路径: 再次运行which python3获取路径,例如我们得到/usr/bin/python3。 -
创建符号链接: 我们将创建一个名为
python的链接,指向python3。# 将 /path/to/python3 曍换成你上一步得到的实际路径 sudo ln -s /path/to/python3 /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python
-
验证:
which python python --version
which python应该会输出/usr/bin/python(或者你创建链接的路径),ls -l /usr/bin/python会显示它是一个指向python3的符号链接。 -
(可选)处理
pip: 你可能也想将pip指向pip3。sudo ln -s /path/to/pip3 /usr/bin/pip
sudo ln -s /usr/bin/pip3 /usr/bin/pip
优点:
- 影响范围广,所有程序调用
python命令都会生效。 - 是一种更“标准”的解决方案。
缺点:
- 需要
sudo权限。 - 有破坏系统工具的风险。
- 如果以后想恢复,需要手动删除链接 (
sudo rm /usr/bin/python)。
使用 update-alternatives (Debian/Ubuntu 系统)
这是 Debian 和 Ubuntu 系统上管理命令链接的标准、安全的方法。
-
注册
python3为一个替代选项:# 同样,/path/to/python3 曍换成你的实际路径 sudo update-alternatives --install /usr/bin/python python /path/to/python3 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
-
(可选)如果系统也安装了 Python 2,也将其注册:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 2
-
手动选择要使用的版本: 运行以下命令,系统会提示你选择默认的
python版本:sudo update-alternatives --config python
然后输入你想要的选项编号(
1代表 Python 3),按回车。 -
验证:
which python python --version
优点:
- 非常安全,是系统推荐的方式。
- 可以轻松地在不同版本间切换。
- 不需要手动创建或删除链接。
缺点:
- 仅适用于使用
update-alternatives工具的系统(主要是 Debian/Ubuntu 及其衍生版)。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 用户别名 (Alias) | 安全、简单、无风险 | 只对当前终端会话有效 | 强烈推荐给所有普通用户,日常开发使用。 |
| 符号链接 (ln -s) | 影响全局,标准做法 | 有风险,需 sudo | 在确认系统工具不依赖 Python 2 的情况下使用。 |
| update-alternatives | 安全、系统级、可切换 | 仅限特定系统 | 在 Debian/Ubuntu 系统上的首选方法。 |
对于绝大多数用户,从方法一(用户别名)开始是最稳妥的选择,如果你是系统管理员,并且需要全局修改,那么在 Debian/Ubuntu 上使用方法三,在其他系统上谨慎使用方法二。
