Почему я неожиданно вижу "Использование: источник деактивировать" всякий раз, когда я запускаю команды virtualenvwrapper?
Я никогда раньше не видел этого сообщения при использовании virtualenvwrapper, но теперь я неожиданно вижу это сообщение всякий раз, когда я запускаю, скажем, mkvirtualenv <environment>
или workon <environment>
:
Usage: source deactivate
removes the 'bin' directory of the environment activated with 'source
activate' from PATH.
Я вообще не модифицировал virtualenvwrapper, и быстрый поиск в google дает эту проблему GitHub - я установил IPython/Anaconda a в то время как назад, но я не уверен, как это может мешать virtualenvwrapper. В любом случае я попробовал обновить оба (conda update conda; conda update ipython
), а также обновить virtualenvwrapper до v4.1.1, но я все еще вижу эту ошибку.
Я запускаю OS X 10.8.4.
Ответы
Ответ 1
workon
, который определен в /usr/local/bin/virtualenvwrapper.sh
, вызывает deactivate
. A script с тем же именем присутствует в Anaconda bin, поэтому он вызывается workon.
Лучшее решение, которое я нашел до сих пор, - это переименование активировать и деактивировать в Anaconda bin. Если есть лучшее решение, прокомментируйте, и я обновлю этот ответ.
Ответ 2
Это случилось со мной после установки Anaconda из https://www.continuum.io/downloads. Если вам не нужна программа, и она будет удалена, удалите из файла ~/.bash_profile следующее:
added by Anaconda2 4.2.0 installer
export PATH="//anaconda/bin:$PATH"
Ответ 3
Anaconda уже знает, где активировать, и разные среды настолько виртуальны, что не нужны.
Кажется, что все virtualenvwrapper предоставляет Mac, это ярлык для рабочего источника для активации, вы можете использовать псевдоним в вашем файле bash.rc и удалить virtualenvwrapper.
Просто добавьте строку псевдонима ниже, где вы добавляете ~/anaconda/bin к вашему пути, как показано ниже.
# added by Anaconda3 4.3.1 installer
export PATH="$HOME/anaconda/bin:$PATH"
# Add workon alias here!
alias workon='source activate'
Теперь, когда я запускаю "workon Django", он запускает виртуальный env Anaconda Django, не напомнив мне, что "исходный деактивировать" - это способ выхода.
Если вы этого не заметили, чтобы выйти из виртуального env, просто запустите 'source deactivate'