【2026 最新】Python 下载与安装:在 macOS 下使用 Homebrew 和 pyenv 完美管理多版本 Python

在 macOS 上使用 Homebrew 管理多版本 Python,最推荐和主流的方案是结合使用 pyenv。pyenv 本身可以通过 Homebrew 轻松安装,它能让你方便地安装、隔离和切换任意多个 Python 版本,而不会干扰系统自带的 Python。

Homebrew 安装教程

【2026 最新】Mac 终端神器 Homebrew 完全指南:从安装、换源加速到核心命令速查(Mac 版)_mac homebrew-CSDN博客

以下是使用 pyenv 进行多版本 Python 管理的完整步骤:

一、安装并配置 pyenv

通过 Homebrew 安装 pyenv

打开终端,执行以下命令:

复制代码
brew install pyenv

配置 Shell 环境

macOS 默认使用 zsh,你需要将 pyenv 的初始化脚本添加到 ~/.zshrc 配置文件中。依次执行以下三条命令:

复制代码
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

二、使用 pyenv 安装和管理 Python 版本

配置完成后,你就可以使用 pyenv 来安装和管理 Python 了。

安装指定的 Python 版本

你可以安装任意多个版本,例如 Python 3.11.9 和 3.12.5:

复制代码
pyenv install 3.11.9
pyenv install 3.12.5

查看已安装的版本

复制代码
pyenv versions

这条命令会列出所有你通过 pyenv 安装的 Python 版本,当前使用的版本前会有一个星号 *。

三、查看安装的 Python 路径

例如查看 3.11.9 版本:

复制代码
pyenv prefix 3.11.9

然后键盘 command + shift + G 输入 打印出来的路径就可以找到你的 Python 位置了。

四、灵活切换 Python 版本

pyenv 提供了多种切换方式,可以满足不同场景的需求。

  • 全局切换 (Global)

    设置一个默认的 Python 版本,对所有终端会话生效。

    复制代码
    pyenv global 3.11.9

    之后在任何目录下执行 python --version,都会显示 3.11.9。

  • 项目级切换 (Local)

    为特定项目设置独立的 Python 版本。进入项目目录后执行:

    复制代码
    cd /path/to/your/project
    pyenv local 3.12.5

    这个命令会在项目根目录创建一个 .python-version 文件。当你进入这个目录时,pyenv 会自动将 Python 版本切换到 3.12.5;离开目录后,版本会自动恢复。

  • 临时切换 (Shell)

    仅在当前终端会话中临时使用某个 Python 版本。

    复制代码
    pyenv shell 3.12.5

    这个设置只对当前打开的终端窗口有效,关闭窗口后即失效。

五、完全卸载

使用 pyenv 卸载(最推荐,最干净)

既然你是用 pyenv 管理的,用它自带的命令卸载是最安全的,它会自动删除相关文件。

  1. 卸载指定版本

    假设你要卸载 3.11.9

    bash 复制代码
    pyenv uninstall 3.11.9

    系统会提示你确认,输入 y 并回车即可。

  2. 验证是否删除

    运行以下命令,确保该版本已不在列表中:

    复制代码
    pyenv versions
相关推荐
量化分析码农42 分钟前
【Python量化趋势跟踪实战 02】突破买入总被假突破坑:通道系统与入场时机
python
Agent世界1 小时前
多平台登录态巡检:cookie 判据为什么会撒谎
python
量化分析码农2 小时前
【Python量化趋势跟踪实战 01】均线多头排列就是趋势开始吗:过滤与确认
python
用户298698530142 小时前
Python 实战:把代码写入 Word 文档的两种实现方式
后端·python·api
小小张说故事2 小时前
Python 里 pickle 到底存了什么:拆开 __reduce__、__getstate__ 和那串能执行代码的字节码
python
reasonsummer2 小时前
【教学类-150-03】20261108蝴蝶连连看html(一页2个版面、3个版面)
python·html
用户019027581612 小时前
用 Polars 快速分析 A 股 K 线:比 pandas 更快的列式处理
python
用户0332126663672 小时前
使用 Python 轻松加密或解密 Excel 文档
python·excel
CyrusYiVPP3 小时前
手写 MCP Server:给问答机器人接上本地文件工具,Python 实战第 13 期
人工智能·python
特立独行的猫A4 小时前
cj-tauri:用仓颉写桌面与鸿蒙 PC 应用
java·后端·python