杰瑞科技汇

Mac如何升级Python版本?

⚠️ 重要前提:为什么官方不建议升级系统 Python?

macOS 自带的 Python(通常位于 /usr/bin/python)是操作系统的一部分,由苹果公司维护,许多系统工具和脚本(如 pip3, system_profiler, installer 等)都依赖这个特定版本的 Python 来运行。

Mac如何升级Python版本?-图1
(图片来源网络,侵删)

如果你直接升级或替换了 /usr/bin/python,可能会导致:

  • 系统工具损坏或无法使用。
  • 系统更新失败。
  • 出现各种意想不到的错误。

最佳实践是不要触碰系统自带的 Python,而是为你的用户环境安装和管理多个独立的 Python 版本。


推荐方法一:使用 pyenv (最推荐、最灵活)

pyenv 是一个极其流行的 Python 版本管理工具,它允许你在一台机器上轻松安装和切换多个 Python 版本,而不会影响系统 Python 或其他项目。

优点:

  • 完全隔离:每个 Python 版本都是独立的,互不干扰。
  • 灵活切换:可以为单个项目设置 Python 版本,也可以全局设置。
  • 支持多版本:可以轻松安装和管理 Python 2.7, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 等所有主流版本。
  • 不影响系统:完全不触碰 /usr/bin/python

步骤:

安装 Homebrew (如果还没有) pyenv 通常通过 Homebrew 安装,打开终端,运行:

Mac如何升级Python版本?-图2
(图片来源网络,侵删)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,根据提示将 Homebrew 添加到你的 PATH 中。

安装 pyenv 使用 Homebrew 安装 pyenv

brew install pyenv

配置 Shell 为了让终端识别 pyenv 命令,你需要将其添加到你的 Shell 配置文件中。

  • 如果你使用 Zsh (macOS Catalina 及以后版本默认): 编辑 ~/.zshrc 文件:

    Mac如何升级Python版本?-图3
    (图片来源网络,侵删)
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
    echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(pyenv init -)"' >> ~/.zshrc

    然后重新加载配置文件:

    source ~/.zshrc
  • 如果你使用 Bash: 编辑 ~/.bash_profile~/.bashrc 文件:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    然后重新加载配置文件:

    source ~/.bash_profile

安装你想要的 Python 版本 你可以使用 pyenv 安装任何 Python 版本,安装最新的 Python 3.12:

# 查看所有可安装的版本
pyenv install --list
# 安装特定版本 (Python 3.12.0)
pyenv install 3.12.0

注意:首次安装时,pyenv 需要编译源代码,这个过程需要一些时间,并且需要安装 Xcode Command Line Tools。

# 如果没有安装,请先安装
xcode-select --install

设置全局 Python 版本 安装后,你可以设置一个全局默认版本:

# 设置全局 Python 为 3.12.0
pyenv global 3.12.0

当你打开一个新的终端窗口并输入 python --version,它会显示 Python 3.12.0

为单个项目设置 Python 版本 进入你的项目目录,为该项目设置特定的 Python 版本:

cd /path/to/your/project
pyenv local 3.11.0

这会在你的项目目录下创建一个 .python-version 文件,以后只要在这个目录下打开终端,python 命令就会自动指向 Python 3.11.0。


推荐方法二:使用 python.org 官方安装器

如果你只需要一个最新的、稳定版的 Python,并且不关心管理多个版本,可以直接从 Python 官网下载安装器。

优点:

  • 官方支持:由 Python 软件基金会维护,非常稳定。
  • 简单直接:双击安装即可,会自动处理好路径。

步骤:

  1. 访问 Python 官方下载页面:https://www.python.org/downloads/
  2. 下载最新的稳定版安装包(Python 3.12.0 macOS 64-bit installer)。
  3. 双击打开下载的 .pkg 文件,按照提示进行安装。
  4. 安装时务必勾选 "Install python3 launcher for all users" 和 "Add python3 to PATH",这一步至关重要,它会把 python3 命令添加到你的用户 PATH 中,而不会覆盖系统 Python。

安装完成后,你可以通过终端验证:

# 检查 python3 版本 (推荐使用 python3)
python3 --version
# 检查 pip 版本
pip3 --version

你会发现 /usr/local/bin/python3 指向了你新安装的版本,而 /usr/bin/python 仍然是系统旧版本,安全且互不干扰。


推荐方法三:使用 Homebrew 安装

如果你已经是 Homebrew 用户,也可以用它来安装 Python。

优点:

  • 与 Homebrew 生态集成良好。
  • 方便用 brew upgrade 更新。

步骤:

  1. 使用 Homebrew 安装 Python:

    # 安装最新的稳定版 (Python 3.12)
    brew install python

    Homebrew 会将 Python 安装在 /usr/local/opt/python/opt/homebrew/opt/python (Apple Silicon Mac) 等位置。

  2. 验证安装:

    # Homebrew 安装的 python3 通常在 /usr/local/bin/python3
    /usr/local/bin/python3 --version
  3. 管理路径:Homebrew 会自动将 /usr/local/bin/opt/homebrew/bin 添加到你的 PATH 中,所以通常可以直接使用 python3pip3,如果不行,请检查你的 Shell 配置文件。


如何管理包 (pip)

无论你使用哪种方法安装 Python,强烈建议使用 pip3 来安装和管理 Python 包,并配合虚拟环境来避免项目间的依赖冲突。

使用虚拟环境 (最佳实践)

  1. 创建虚拟环境

    # 使用 pyenv 的 python 创建虚拟环境
    pyenv shell 3.12.0  # 先切换到目标版本
    python3 -m venv my-project-env
    # 或者使用系统 python3 创建
    python3 -m venv my-project-env
  2. 激活虚拟环境

    source my-project-env/bin/activate

    激活后,你的终端提示符前会出现 (my-project-env),表示你已进入虚拟环境。pythonpip 命令都指向这个环境中的版本。

  3. 在虚拟环境中安装包

    pip install requests numpy

    这些包只会安装到 my-project-env 目录中,不会影响全局或其他项目。

  4. 退出虚拟环境

    deactivate
方法 优点 缺点 适用场景
pyenv 最灵活、最安全、多版本管理 设置稍复杂,首次编译慢 开发人员、需要多版本 Python 的用户
官方安装器 官方支持、简单可靠 难以管理多个版本 只需要一个最新稳定版的普通用户
Homebrew 与 Homebrew 生态集成好 版本可能不是最新的,与系统 Python 路径有重叠 已经是 Homebrew 用户,且不需要极其新版本

最终建议: 对于绝大多数用户,特别是开发者,强烈推荐使用 pyenv + venv 的组合,这是最专业、最灵活、最能避免麻烦的方案。

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