安装virtualenv后执行virtualenv --version提示zsh: command not found如何解决
报错原因
- pip3安装用户级Python包的可执行文件默认存放路径
~/Library/Python/<Python3对应版本号>/bin没有添加到zsh的PATH环境变量中,终端无法识别该路径下的命令。 - 若安装时使用了错误的权限参数(如未加sudo的全局安装),会导致virtualenv可执行文件未被写入系统可识别的命令路径。
- 若当前环境使用pyenv、conda等Python版本管理工具,virtualenv仅安装在了指定的虚拟环境中,全局环境未对应安装。
解决方案
临时快速调用
无需修改配置,直接通过Python3模块的方式调用virtualenv即可,校验版本命令为:python3 -m virtualenv --version
创建虚拟环境可使用格式python3 -m virtualenv <虚拟环境名称>。
永久配置全局命令
- 先获取pip3用户级包的可执行目录,执行命令:
python3 -m site --user-base
在返回的结果末尾拼接/bin就是需要添加到PATH的路径,例如返回/Users/faculty/Library/Python/3.9,拼接后路径为/Users/faculty/Library/Python/3.9/bin。 - 将路径写入zsh配置文件,执行命令:
echo 'export PATH="$PATH:上一步得到的完整路径"' >> ~/.zshrc - 刷新配置使改动立即生效:
source ~/.zshrc - 执行
virtualenv --version即可正常返回版本信息。
版本管理工具适配
- 若使用pyenv管理Python版本,安装virtualenv后执行
pyenv rehash刷新命令索引即可。 - 若使用conda管理Python环境,切换到需要使用virtualenv的环境后重新执行
pip install virtualenv即可。
内容的提问来源于stack exchange,提问作者Penjor Ghaley
相关产品推荐
相关产品推荐

