在 macOS 上必须为每个 Python 项目创建独立虚拟环境以避免包版本冲突;需先验证 python3 和 venv 模块可用,再用 python3 -m venv .venv 创建、source .venv/bin/activate 激活、pip install 安装依赖并用 pip freeze > requirements.txt 固化版本,退出用 deactivate,删除用 rm -rf .venv。

在 macOS 上为每个 Python 项目创建独立虚拟环境,是避免 Django、Flask、Requests 等包版本冲突的唯一可靠方式——系统 Python 受 PEP668 保护,不允许直接 pip install,硬装会触发错误且破坏系统工具链。
确认 Python 和 venv 模块就绪
打开终端,先验证基础环境是否可用。这一步跳过会导致后续所有命令报错“No module named venv”,尤其在刚重装系统或使用 Apple Silicon Mac 的新手机器上极易发生。
执行 which python3,确保返回路径(如 /opt/homebrew/bin/python3 或 /usr/bin/python3);若无输出,需先用 brew install python 安装。
再运行 python3 -m venv --help,看到帮助信息即说明 venv 模块已启用;【若提示 No module named venv,请勿尝试 pip install venv——venv 是标准库模块,只能通过重装 Python 解决】。
进入项目目录并创建 .venv
切到你的代码根目录,例如:cd ~/Projects/my-django-app。
执行 python3 -m venv .venv。推荐用 .venv(带点号)而非 venv,因为 Git 默认忽略以点开头的文件夹,避免误提交敏感路径配置。
命令完成后,当前目录下会出现 .venv/ 文件夹,内含 bin/(含 python、pip、activate)、lib/python3.x/site-packages/(空的私有依赖区)和 pyvenv.cfg(记录基础 Python 路径)。
激活并验证虚拟环境
第一步:运行 source .venv/bin/activate。
第二步:观察终端提示符——左侧应立即出现 (.venv) 前缀,这是唯一可靠的激活成功信号。
第三步:验证解释器归属:which python 必须返回 ./.venv/bin/python,which pip 必须返回 ./.venv/bin/pip。如果仍指向 /usr/bin/python 或 Homebrew 路径,说明 source 失败,常见原因是 shell 类型不匹配(zsh 用户误用 bash 脚本)或路径拼写错误。
安装依赖与导出清单
方法一:升级 pip 后安装单个包
执行 pip install --upgrade pip → pip install requests flask。
方法二:批量安装并固化版本
先运行 pip freeze > requirements.txt 生成初始空白清单;之后每装一个包都重新执行该命令,确保 requirements.txt 始终精确反映当前环境状态。协作时他人只需 pip install -r requirements.txt 即可复现完全一致的依赖树。
注意:不要在未激活环境时运行 pip freeze,否则导出的是系统全局包列表,毫无项目参考价值。
退出与清理
退出当前环境只需输入 deactivate,提示符前 (.venv) 消失即生效。
如需彻底删除该环境,执行 rm -rf .venv。此操作不可逆,但安全——它只删项目目录下的文件,不影响系统 Python 或其他任何项目。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











