为何pyenv virtualenv未将~.pyenv/plugins/pyenv-virtualenv/shims添加到路径?
问题原因排查与解决方案
核心诱因
你遇到的路径不匹配问题是pyenv的安装方式差异导致的:
- 你当前的pyenv和pyenv-virtualenv是通过
Homebrew安装的,不是手动克隆到~/.pyenv目录的版本 - Rosetta终端下x86架构的Homebrew安装包默认存放在
/usr/local/Cellar/路径下,所以pyenv-virtualenv的shims路径自然指向Homebrew的安装目录,而非~/.pyenv/plugins/路径 - Homebrew安装的pyenv默认不会自动创建
~/.pyenv/plugins目录,只有手动安装或者后续手动克隆插件到该路径才会生成对应目录
修复方案
如果你需要切换到~/.pyenv目录的结构,按以下步骤操作:
- 先卸载Homebrew安装的pyenv相关包:
brew uninstall pyenv pyenv-virtualenv
- 手动克隆pyenv到用户目录:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- 克隆pyenv-virtualenv插件到对应目录:
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
- 确认你的
.zshrc里的配置正确,保留你原来的两行配置即可:
eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)"
- 重启终端或者执行
source ~/.zshrc生效,此时用echo $PYENV_ROOT或者which python验证路径就会指向~/.pyenv下的对应路径。
如果你想保留Homebrew的安装方式也可以,路径差异只是安装方式不同导致的,本身不是故障,只要确认pyenv versions能识别到你需要的Python版本,切换到对应版本后构建脚本也可正常运行。
内容的提问来源于stack exchange,提问作者Swift142
相关产品推荐
相关产品推荐

