首页 > 解决方案 > 错误:环境 /Users/myuser/.virtualenvs/iron 不包含激活脚本

问题描述

我在 macOS Catalina 版本 10.15.1 上运行 python 3.7.6,我正在尝试安装和设置virtualenvwrapper我已安装的pip3 install virtualenvwrapper.

我的 .bash_profile 中有以下几行:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/Users/maxcarey/Library/Python/3.7/bin/virtualenv
export WORKON_HOME=$HOME/.virtualenvs 
source /Users/maxcarey/Library/Python/3.7/bin/virtualenvwrapper.sh

这些是我遵循的配置步骤: https ://stackoverflow.com/a/42643313/5420796 。以及其他教程(比如这个

所以你可以看到我正在尝试将这些导出变量指向​​正确的位置,在我的终端中,输出 为which python3:/Users/maxcarey/Library/Python/3.7/bin/virtualenv。的输出是/usr/local/bin/python3which virtualenvwhich virtualenvwrapper.sh/Users/maxcarey/Library/Python/3.7/bin/virtualenvwrapper.sh

这里是问题:当我运行:mkvirtualenv iron 创建一个新的虚拟环境(在这种情况下称为铁),命令的输出是:

使用播种机 FromAppData pip=latest setuptools=latest wheel=latest app_data_dir=/Users/maxcarey/Library/Application Support 在 193ms CPython3Posix(dest=/Users/maxcarey/.virtualenvs/iron, clear=False, global=False) 中创建虚拟环境/virtualenv/seed-v1 via=copy virtualenvwrapper.user_scripts 创建 /Users/maxcarey/.virtualenvs/iron/bin/predeactivate 错误:环境 '/Users/maxcarey/.virtualenvs/iron' 不包含激活脚本。

您可以看到确实创建了一个虚拟环境,但是,我收到一条错误消息,说没有激活脚本。但是,当我导航到 时~/.virtualenvs,我确实可以看到激活脚本。这是tree新文件夹内的输出iron/local/

└── local
    └── bin
        ├── activate
        ├── activate.csh
        ├── activate.fish
        ├── activate.ps1
        ├── activate.xsh
        ├── activate_this.py
        ├── easy_install
        ├── easy_install-3.7
        ├── easy_install3
        ├── pip
        ├── pip-3.7
        ├── pip3
        ├── python -> /Library/Developer/CommandLineTools/usr/bin/python3
        ├── python3 -> python
        ├── python3.7 -> python
        ├── wheel
        ├── wheel-3.7
        └── wheel3

确实似乎有激活脚本。所以我很困惑为什么我会收到激活脚本错误(我在运行时也会遇到workon iron)。我尝试过简单地使用 破坏和重新创建虚拟环境rmvirtualenv iron,但是,当再次创建环境时,我仍然遇到相同的错误。谢谢你

标签: python-3.xvirtualenvvirtualenvwrapper

解决方案


我正在使用 Python 3.7.3 运行 raspbian buster。我遇到了同样的问题,“错误...没有激活脚本”。我尝试了@Lombax 的答案,但没有奏效。

但是,我注意到virtualenvwrapper我安装的版本是 5.0.0。我检查了PyPi,它仍然是 4.8.4 版本。所以我卸载了 virtualenv 和 virtualenvwrapper: sudo pip3 uninstall virtualenv virtualenvwrapper

然后我重新安装了两者并指定了版本:sudo pip3 install virtualenv virtualenvwrapper=='4.8.4' 我获取了我的 .bashrc,我在其中附加了设置:

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export PATH=/usr/local/bin:$PATH
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

现在mkvirtualenv test工作。不确定 virtualenvwrapper 5.x 版的错误是什么,与此同时,这解决了我的问题,希望这会有所帮助。


推荐阅读