You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Monterey12.6更新后所有Python项目脚本失效求助

解决macOS Monterey 12.6更新后Python虚拟环境失效问题

问题根源

系统更新后自动安装的CommandLineTools Python(路径/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9)不在PATH中,旧虚拟环境的符号链接却指向了这个路径。激活venv后实际调用的是系统根Python而非虚拟环境内的解释器,因此出现ModuleNotFoundError,且依赖会被安装到系统环境。

修复步骤

1. 修正PATH环境变量

编辑~/.zprofile(zsh优先加载该文件),添加缺失的关键路径:

# 加入CommandLineTools的Python3.9路径到PATH最前端
PATH="/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin:${PATH}"
# 加入用户级Python3.9脚本路径
PATH="/Users/xxxx/Library/Python/3.9/bin:${PATH}"

注意:将xxxx替换为你的实际用户名

保存后执行命令使配置生效:

source ~/.zprofile

验证PATH是否更新:

echo $PATH

确认上述两个路径已出现在PATH列表中。

2. 修复现有虚拟环境

对每个失效的venv执行以下操作:

  • 激活虚拟环境:
source /path/to/your/venv/bin/activate
  • 重建venv内的Python符号链接:
rm $VIRTUAL_ENV/bin/python3.9
ln -s /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9 $VIRTUAL_ENV/bin/python3.9
# 同步python、python3的链接指向
rm $VIRTUAL_ENV/bin/python
rm $VIRTUAL_ENV/bin/python3
ln -s python3.9 $VIRTUAL_ENV/bin/python3
ln -s python3 $VIRTUAL_ENV/bin/python
  • 重新安装依赖(确保处于venv激活状态):
pip install -r requirements.txt

3. 清理无效的PATH配置

  • 打开~/.bash_profile,删除Python3.8的PATH配置(zsh不会加载该文件,且路径已无效)
  • 打开~/.zshrc,删除export PATH=$PATH:/Users/xxxx/Library/Python/3.8/bin(若不再使用Python3.8)

4. 新虚拟环境创建规范

后续创建venv时,指定完整Python路径避免混淆:

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9 -m venv /path/to/new/venv

内容的提问来源于stack exchange,提问作者n1c

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:50:24