升级macOS 11.5后pyenv虚拟环境报python >virtual env name< 未安装问题
macOS 11.5升级后pyenv虚拟环境pip报错解决方案
- 该问题核心是macOS大版本升级会重置shell环境配置、破坏Xcode命令行工具关联,导致pyenv的shim代理机制失效,按以下步骤执行即可解决:
- 补全pyenv初始化配置
打开你当前使用的shell对应配置文件(默认zsh对应~/.zshrc,bash对应~/.bash_profile或~/.bashrc),确认末尾是否存在以下配置,不存在则添加:
export PYENV_ROOT="$HOME/.pyenv" command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
添加完成后执行配置生效命令:source ~/.zshrc(对应bash则替换为对应配置文件名)
2. 修复Xcode命令行工具
执行安装命令:xcode-select --install,若提示已安装则执行重置命令:sudo xcode-select --reset
3. 重建pyenv shim缓存
执行命令:pyenv rehash
4. 验证生效状态
执行which pip,输出路径为~/.pyenv/shims/pip即为配置正常,此时再执行pip freeze或其他pip操作即可恢复正常。
- 原有旧虚拟环境如果仍然报错,可删除后重建:
- 导出原有依赖(如果需要留存):
pyenv exec pip freeze > requirements.txt - 删除旧虚拟环境:
pyenv virtualenv-delete <虚拟环境名> - 重新创建虚拟环境并绑定目录,安装依赖即可。
- 导出原有依赖(如果需要留存):
内容的提问来源于stack exchange,提问作者Caleb Robinson
相关产品推荐
相关产品推荐

