我正在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/python3
which 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
时,确实可以看到激活脚本。这是新文件夹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
破坏并重新创建虚拟环境,但是可以,但是,再次创建环境时,我仍然遇到相同的错误。谢谢
我的解决方案是将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
我正在使用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版的错误是什么,与此同时,这对我来说是个问题,希望对您有所帮助。
我刚遇到这个问题,将我的virtualenv版本降级到20.0.3使我可以解决这个问题。
pip3 uninstall virtualenv && pip3 install 'virtualenv==20.0.3'