杰瑞科技汇

如何将Python3设为默认Python版本?

重要前提:检查你的系统环境

在开始之前,请务必确认以下几点:

如何将Python3设为默认Python版本?-图1
(图片来源网络,侵删)
  1. Python 3 已安装:你的系统上已经安装了 Python 3,你可以通过运行以下命令来检查:

    python3 --version

    如果这个命令能正确显示 Python 3 的版本号(Python 3.9.7),说明 Python 3 已经安装好了。

  2. 确定 Python 3 的路径:你需要知道 python3 可执行文件的具体位置,可以使用 which 命令来查找:

    which python3

    输出结果通常类似于 /usr/bin/python3/usr/local/bin/python3记下这个路径,我们稍后会用到。

    如何将Python3设为默认Python版本?-图2
    (图片来源网络,侵删)
  3. 检查现有的 python 命令:看看当前系统默认的 python 命令指向哪里。

    which python
    • 如果输出是 /usr/bin/python2.7 或类似的 Python 2 路径,说明你需要进行更改。
    • 如果输出已经是 /usr/bin/python3 或你想要的 Python 3 路径,那么恭喜你,它已经是默认的了!
    • 如果提示 python not found,说明系统没有 python 命令,你可以直接创建它。

为当前用户创建别名 (Alias) - 最简单安全

这是最推荐给普通用户的方法,因为它只影响你当前的终端会话,不会影响系统其他部分,也无需管理员权限。

  1. 打开你的 shell 配置文件

    • 如果你使用 Bash (Linux/macOS 默认),请编辑 ~/.bashrc~/.bash_profile 文件。
    • 如果你使用 Zsh (macOS Catalina 及以后版本默认),请编辑 ~/.zshrc 文件。

    你可以使用任何文本编辑器,nano

    如何将Python3设为默认Python版本?-图3
    (图片来源网络,侵删)
    nano ~/.bashrc
  2. 在文件末尾添加以下行

    alias python='python3'

    这行命令的意思是:在当前 shell 环境中,每当输入 python 时,都自动替换成 python3

  3. 保存并退出文件

    • nano 中,按 Ctrl + X,然后按 Y 确认保存,最后按 Enter
  4. 让配置生效: 在终端中运行以下命令,或者直接重新打开一个新的终端窗口

    source ~/.bashrc
    # 如果用的是 Zsh,则运行 source ~/.zshrc
  5. 验证: 现在检查一下 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 或一些旧版系统上要格外小心。

  1. 找到 python3 的路径: 再次运行 which python3 获取路径,例如我们得到 /usr/bin/python3

  2. 创建符号链接: 我们将创建一个名为 python 的链接,指向 python3

    # 将 /path/to/python3 曍换成你上一步得到的实际路径
    sudo ln -s /path/to/python3 /usr/bin/python
    sudo ln -s /usr/bin/python3 /usr/bin/python
  3. 验证

    which python
    python --version

    which python 应该会输出 /usr/bin/python(或者你创建链接的路径),ls -l /usr/bin/python 会显示它是一个指向 python3 的符号链接。

  4. (可选)处理 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 系统上管理命令链接的标准、安全的方法。

  1. 注册 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
  2. (可选)如果系统也安装了 Python 2,也将其注册

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 2
  3. 手动选择要使用的版本: 运行以下命令,系统会提示你选择默认的 python 版本:

    sudo update-alternatives --config python

    然后输入你想要的选项编号(1 代表 Python 3),按回车。

  4. 验证

    which python
    python --version

优点

  • 非常安全,是系统推荐的方式。
  • 可以轻松地在不同版本间切换。
  • 不需要手动创建或删除链接。

缺点

  • 仅适用于使用 update-alternatives 工具的系统(主要是 Debian/Ubuntu 及其衍生版)。

总结与建议

方法 优点 缺点 适用场景
用户别名 (Alias) 安全、简单、无风险 只对当前终端会话有效 强烈推荐给所有普通用户,日常开发使用。
符号链接 (ln -s) 影响全局,标准做法 有风险,需 sudo 在确认系统工具不依赖 Python 2 的情况下使用。
update-alternatives 安全、系统级、可切换 仅限特定系统 在 Debian/Ubuntu 系统上的首选方法。

对于绝大多数用户,从方法一(用户别名)开始是最稳妥的选择,如果你是系统管理员,并且需要全局修改,那么在 Debian/Ubuntu 上使用方法三,在其他系统上谨慎使用方法二。

分享:
扫描分享到社交APP
上一篇
下一篇