MacOS Apple Silicon下zsh中virtualenvwrapper模块缺失问题求助
解决方案
1. 修正WORKON_HOME路径错误
你的WORKON_HOME配置重复了用户目录,导致虚拟环境创建路径异常(/Users/username/Users/username/.virtualenvs/helloworld),先修正路径:
export WORKON_HOME=~/.virtualenvs
或使用绝对路径:
export WORKON_HOME=/Users/username/.virtualenvs
2. 解决模块找不到的核心问题
错误提示conda环境的Python找不到virtualenvwrapper模块,说明你使用的pip3与当前conda环境的Python不匹配,以下两种方法二选一:
方法A:在conda base环境内安装virtualenvwrapper
你当前已处于conda base环境,直接重新安装:
pip install virtualenvwrapper
安装完成后,更新.zshrc配置为:
export WORKON_HOME=~/.virtualenvs export VIRTUALENVWRAPPER_VIRTUALENV=$(which virtualenv) export VIRTUALENVWRAPPER_PYTHON=$(which python) source $(which virtualenvwrapper.sh)
方法B:指定系统Python运行virtualenvwrapper
若想保留系统Python的virtualenvwrapper,先找到系统Python3路径:
which python3 # 输出示例:/usr/bin/python3
再找到系统安装的virtualenvwrapper.sh路径:
find /usr/local -name virtualenvwrapper.sh # 输出示例:/usr/local/bin/virtualenvwrapper.sh
更新.zshrc配置,强制使用系统Python:
export WORKON_HOME=~/.virtualenvs export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh
3. 生效配置并测试
修改完.zshrc后,执行命令让配置生效:
source ~/.zshrc
重新创建虚拟环境测试:
mkvirtualenv helloworld
4. 兼容conda与virtualenvwrapper的注意事项
- 使用conda环境时,直接用
conda activate env_name激活;使用virtualenvwrapper虚拟环境时,用workon helloworld激活,二者互不冲突。 - 若采用方法A,可在conda环境内创建virtualenvwrapper虚拟环境;若采用方法B,避免在激活conda环境的状态下创建虚拟环境,防止路径混淆。
内容的提问来源于stack exchange,提问作者K--
相关产品推荐
相关产品推荐

