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

M1 Monterey下virtualenv报符号链接过多、库加载失败问题

解决方案

Python3 报错修复

你的Python3报错是Homebrew安装的Python3.9框架文件损坏导致,按以下步骤修复:

  • 卸载损坏的Python3.9并清理残留:
    brew uninstall --purge python@3.9
    brew cleanup
    
  • 重新安装Python3.9:
    brew install python@3.9
  • 验证安装有效性,执行以下命令正常输出版本号即为成功:
    python3.9 --version
  • 重装当前用户维度的virtualenv,避免修改全局权限:
    pip3 install --user virtualenv
  • 将用户Python可执行文件目录加入环境变量,在~/.zshrc(如果用bash就改~/.bash_profile)末尾添加:
    export PATH="$HOME/Library/Python/3.9/bin:$PATH"
  • 加载配置后测试创建虚拟环境:
    source ~/.zshrc
    virtualenv -p python3.9 test_py3_env
    
    激活虚拟环境无报错即修复完成。

Python2.7 报错修复

你的Python2.7报错有两个核心原因:一是最新版virtualenv已经停止支持Python2.7,二是你之前的操作导致/Library/Frameworks/Python.framework/Versions/2.7/下的符号链接出现死循环,且系统自带的Python2.7在M1芯片设备上本身存在兼容问题,不建议直接使用,推荐用pyenv做版本隔离:

  • 安装pyenv管理Python版本:
    brew install pyenv
  • 安装Python2.7编译依赖:
    brew install openssl@1.1 readline sqlite3 xz zlib tcl-tk
  • 将pyenv配置加入~/.zshrc末尾:
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/shims:$PATH"
    if command -v pyenv 1>/dev/null 2>&1; then
      eval "$(pyenv init -)"
    fi
    
  • 加载配置后编译安装Python2.7.18:
    CPPFLAGS="-I$(brew --prefix openssl@1.1)/include" LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" pyenv install 2.7.18
  • 在需要使用Python2.7的项目目录下执行以下命令切换本地Python版本,完全隔离系统Python:
    pyenv local 2.7.18
  • 安装支持Python2.7的最后一版virtualenv:
    pip install virtualenv==20.7.2
  • 测试创建Python2.7虚拟环境:
    virtualenv -p python2.7 test_py2_env
    激活无报错即修复完成。

注意事项

不要尝试修改/usr/bin、/System/Library目录下的任何系统Python相关文件,系统自带的Python是为系统服务设计的,个人使用的Python版本全部通过Homebrew、pyenv等工具安装隔离,即可避免配置损坏问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:06:07