错误:环境/Users/myuser/.virtualenvs/iron不包含激活脚本

问题描述 投票:3回答:3

我正在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。以及其他教程(like this one

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

这里是问题:当我运行:mkvirtualenv iron以创建一个新的虚拟环境(在本例中为iron)时,命令的输出为:

在193毫秒内创建的虚拟环境CPython3Posix(dest = / Users / maxcarey / .virtualenvs / iron,clear = False,global = False),使用播种器FromAppData pip = latest setuptools = latest wheel = latest app_data_dir = / Users / maxcarey / Library /应用程序支持/ virtualenv / seed-v1通过=复制virtualenvwrapper.user_scripts创建/Users/maxcarey/.virtualenvs/iron/bin/predeactivate错误:环境'/Users/maxcarey/.virtualenvs/iron'不包含激活脚本。

您可以看到确实创建了虚拟环境,但是,我收到一条错误消息,指出没有激活脚本。但是,当我导航到~/.virtualenvs时,确实可以看到激活脚本。这是新文件夹treeiron/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.x virtualenv virtualenvwrapper
3个回答
1
投票

我的解决方案是将export VIRTUALENVWRAPPER_ENV_BIN_DIR=usr/local/bin添加到我的shell启动文件之后调用virtualenvwrapper.sh脚本。

我在查看源代码并发现它正在activate中创建usr/local/bin脚本后才弄清楚此修复程序,但是出于某些原因,virtualenvwrapper.sh脚本只在bin中查找。

我的完整shell启动配置现在是这个:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_ENV_BIN_DIR=usr/local/bin

1
投票

我正在使用Python 3.7.3在树莓派上运行。我遇到了同样的问题,“错误...没有激活脚本”。我尝试了@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版的错误是什么,与此同时,这对我来说是个问题,希望对您有所帮助。


0
投票

我刚遇到这个问题,将我的virtualenv版本降级到20.0.3使我可以解决这个问题。

pip3 uninstall virtualenv && pip3 install 'virtualenv==20.0.3'

© www.soinside.com 2019 - 2024. All rights reserved.