在mac上配置python环境,最稳妥省心的路线是安装Homebrew后用pyenv管理多版本,并让终端环境变量全部指向用户目录,整个过程约15分钟,不需要触碰系统自带的python2/python3。
mac配置python环境需要装什么?先理清这几个基础概念
很多人在mac上配置python环境,第一步就卡在“我要装什么”上,其实核心只有三样东西:包管理器(Homebrew)、版本管理器(pyenv)和IDE代码编辑器,包管理器负责安装和更新底层软件,版本管理器负责在你需要同时使用python3.9和3.11时自由切换,IDE则是你敲代码的“工作台”。
mac自带的python为什么不能直接用?
macOS系统自带的python版本存在两个尴尬问题:一是苹果出于兼容性考虑,系统级python版本通常偏旧,无法正常用pip安装依赖;二是系统自带的python归System/Library管理,权限敏感,随意改环境容易出现“运行某条命令后终端崩溃”的情况。行业共识是:不碰系统python,自己在用户目录下搭一套新环境,这样既安全,也方便随时删掉重来。
先装Homebrew还是先装python?
正确顺序是先装Homebrew,再用它装python,因为Homebrew会自动处理编译工具链、openssl等依赖,你要是手动从官网下载python安装包,很可能会遇到ssl module缺失或tkinter报错这些都是mac用户的经典痛点。
| 安装方式 | 优点 | 缺点 |
|---|---|---|
| 官网安装包pkg | 图形界面,一键下一步 | 依赖管理不透明,升级和卸载麻烦 |
| Homebrew安装 | 命令行管理,依赖自动处理 | 需要先装Xcode命令行工具 |
| pyenv编译安装 | 多版本切换最灵活的方案 | 第一次编译耗时较长 |
mac配置python环境的完整操作步骤
以下每一步都是根据实际经验整理出的可执行命令,打开终端(Terminal.app),复制命令后回车运行即可。
第一步:安装Xcode Command Line Tools
这是很多新手忽略的准备工作,Homebrew的编译安装离不开这个包,在终端里运行:
xcode-select --install
系统会弹窗提示“安装软件”,点击安装,等待约5分钟,如果提示已经安装过了,那更好,直接跳到下一步。
第二步:使用Homebrew安装pyenv和python
首先安装Homebrew,如果还没安装,在终端运行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
这个脚本会提示你输入开机密码,输入时不显示任何字符,这是正常的,输完回车即可,安装完成后,根据终端末尾的提示,运行两行export PATH命令,把Homebrew的路径加到shell配置里(通常会写在.zprofile或.bash_profile中)。
然后更新一下Homebrew索引,接着安装pyenv:
brew update
brew install pyenv
安装完成后,用pyenv查看当前可用的python版本列表:
pyenv install --list
列表很长,找到你想装的稳定版本,比如python 3.11.x或3.12.x,根据业内专家的建议,选偶数次小版本(如3.10、3.12)通常稳定性更好,但这并非绝对,运行:
pyenv install 3.12.x
注意把12.x替换成列表里的具体版本号,等待编译下载完成后,设置全局默认版本:
pyenv global 3.12.x
此时运行python --version,如果显示的还是系统旧版本,说明shell环境变量还没加载pyenv,继续看下一步。
第三步:配置shell环境变量
macOS从Catalina版本开始默认使用zsh,配置文件为.zshrc,运行以下命令将pyenv初始化脚本写入配置文件:
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
再运行python --version,这时候应该能看到你指定的新版本号了,这一步属于环境变量配置的常见操作路径,也是mac配置python环境整个流程中最容易出错的一步大多数人失败就是因为忘了把pyenv的路劲写进shell配置。
第四步:验证pip和虚拟环境
python装好后,pip通常已自带,检查一下版本:
pip --version
对于mac配置python环境来说,很多项目的依赖包彼此冲突,强烈建议使用虚拟环境,python 3.3以上自带venv模块,不需要额外装virtualenv,创建虚拟环境的命令是:
python -m venv myenv
激活虚拟环境:
source myenv/bin/activate
激活后,终端提示符会多出(myenv)前缀,此时用pip install

安装的包只存在于这个项目内,互不干扰。
mac python开发环境怎么选IDE?vscode还是pycharm?
环境搭好后,接下来要解决在哪里写代码的问题,mac上最主流的两款工具是Visual Studio Code和JetBrains PyCharm。
VSCode是微软家的免费编辑器,轻量,插件生态丰富,最经典的搭配是安装“Python”扩展(微软官方出品)和“Pylance”,装完后用它打开项目文件夹,首次保存代码时会提示选择python解释器你选pyenv对应的路径就行,VSCode在内存占用和启动速度上有明显优势,多数情况下笔记本上开一天也不卡。
PyCharm是JetBrains家的专业IDE,对python的项目结构、调试器和虚拟环境管理做得更顺手,但社区版免费,专业版价格不菲,如果你经常做web开发(Django/Flask)或者数据科学,PyCharm的数据库连接和Jupyter支持会更省心。
需要说明的是:选择IDE和配置环境是两件独立的事,哪怕你现在还没装IDE,环境已经配好了,终端直接就能跑python脚本,安装IDE本身并不影响环境配置是否正确。
mac上跑python脚本的两种方式
新手常问“mac配置python环境配置好了怎么写第一个程序”,实际上就两种方式。
在IDE里写一个hello.py文件,点击右上角的运行按钮。
在终端里输入python进入交互式解释器,直接输入print("hello")回车,立刻看到输出,这两种方式本质都是调用同一个解释器,区别只在输入输出交互形式上。
mac配置python环境后,环境变量PATH到底在管什么?
有很多人在配置完python后,运行命令时遇到command not found: python,或者which python指向了奇怪的位置,这背后全是PATH环境变量在起作用。
PATH是一串以冒号分隔的目录列表,终端在按回车时按顺序在这些目录里寻找对应的可执行文件,配置python环境时,你可以通过echo $PATH查看自己的PATH内容,正常配置pyenv后的PATH应该类似于:
/Users/你的用户名/.pyenv/shims:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
其中/Users/你的用户名/.pyenv/shims在第一位,保证了终端优先使用pyenv管理的python。如果你发现which python的结果是/usr/bin/python,说明shims没排第一位,请回看第三步的配置过程。
这个配置顺序在整个mac python环境里非常关键,也常常成为面试或技术博客的重点,别怕麻烦,多运行几次

echo $PATH对照检查,十来分钟就能理解背后的逻辑。
mac配置python环境常见报错及解决办法
“No module named pip”怎么处理?
python 3.12及以后的版本在部分系统上可能出现pip未装全的情况,修复方式是用python自带的模块安装pip:
python -m ensurepip --upgrade
如果还不行,直接重新运行pyenv install <版本号>,安装完成后pyenv默认会捆绑pip。
“无法安装pyenv,提示curl错误”
有相当一部分用户在运行Homebrew安装命令时报curl (7)或(35)错误,这通常是网络连接问题,可以尝试更换国内镜像源:
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
然后重新运行安装脚本。
zsh: command not found: pyenv
有些用户明明执行了echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc,但新开终端后依然提示找不到pyenv,建议检查.zshrc是否完整可以运行cat ~/.zshrc查看,如果文件的末尾包含我们之前添加的三行命令,说明是当前终端窗口没有重新加载配置,输入source ~/.zshrc或直接重启终端即可。
mac配置python环境需要多少钱?
这是很多刚接触编程的人担心的问题,实际情况是:所有核心工具全部免费,Homebrew是开源软件,pyenv是开源软件,python解释器本身是开源的,VSCode也免费,唯一的付费点是PyCharm专业版,但社区版完全够用,如果你只从终端开发和写脚本,无需在IDE上花一分钱。
Q&A
mac如何将python环境配置到指定硬盘目录?
pyenv的默认安装目录是~/.pyenv,也就是用户主目录下,如果你希望把python环境本身放到其他磁盘分区,可以设置环境变量PYENV_ROOT=/Volumes/你的硬盘名/.pyenv后再安装pyenv,但默认情况下推荐将环境放在用户目录,因为macOS的外部磁盘在系统更新或休眠唤醒时可能出现挂载路径变化,导致路径失效,对于大多数人的实际使用场景,放在默认位置最稳定。
mac配置python环境时,用virtualenv还是venv?
直接用venv,从python 3.3开始venv成为标准模块,无需额外安装,且完全满足隔离依赖的需求,virtualenv的优势在于支持python 2以及更早的3.x版本环境,而现在mac上普遍使用python 3.11及以上的版本,venv的兼容性和维护性已经优于virtualenv,行业共识是:如果是新项目,不要再用virtualenv了。
