Я новичок в виртуальных средах Python, поэтому после прочтения этого руководства я попытался создать моя первая среда с использованием virtualenvwrapper
. Моя установка python3 сейчас находится на голых костях:
$ pip3 list
argparse (1.2.1)
pip (1.5.6)
setuptools (2.1)
stevedore (0.15)
virtualenv (1.11.6)
virtualenv-clone (0.2.5)
virtualenvwrapper (4.3.1)
Как было предложено в руководстве, я добавил следующие строки в свой файл .bashrc:
export WORKON_HOME=$HOME/.virtualenvs
source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh
что приводит к следующему сообщению, когда я открываю новый терминал:
Last login: Wed Sep 10 22:33:17 on ttys006
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...]
Я не понимаю, в чем проблема, но очевидно, что строка source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh
не работает, потому что тогда я даже не могу найти команду mkvirtualenv
:
$ mkvirtualenv test1 -p /usr/bin/python3.3
-bash: mkvirtualenv: command not found
Я нашел эту запись и этот с похожими проблемами, но ни один из них не дал мне решения.
.bashrc
файле? - person Etan Reisner   schedule 11.09.2014.bashrc
много всего, результат многолетней работы по добавлению разных команд и функций то тут, то там. - person aaragon   schedule 11.09.2014set -u
там? - person Etan Reisner   schedule 11.09.2014set -o nounset
этоset -u
. Это будет проблемой здесь. Преобладание скриптов не предполагает запуска с этим набором, поскольку он приводит к сбою многих идиоматических действий. Отключите это и посмотрите, начнет ли он работать. - person Etan Reisner   schedule 11.09.2014ERROR: virtualenvwrapper_lazy.sh: Could not find virtualenvwrapper.sh
, и я думаю, это потому, что сценарийvirtualenvwrapper.sh
не находится на пути по умолчанию? - person aaragon   schedule 11.09.2014mkvirtualenv
, но, похоже, она не работает:$ mkvirtualenv test1 -bash: : No such file or directory [Process completed]
. После того, как я вижу это сообщение[Process completed]
, я ничего не могу сделать с Терминалом. - person aaragon   schedule 11.09.2014mkvirtualenv
сделал что-то (вероятно, неправильно). ИдеяPATH
выглядит так, как будто она может быть правильной (если файл, на который я смотрю, тот, который у вас есть). Я не знаю, что конкретно может пойти не так сmkvirtualenv
. - person Etan Reisner   schedule 11.09.2014errexit
, не так ли? - person Etan Reisner   schedule 11.09.2014errexit
в моем файле.bashrc
, просто когда я открываю новое окно терминала, я получаю сообщениеLast login: Wed Sep 10 23:25:04 on ttys000 ERROR: virtualenvwrapper_lazy.sh: Could not find virtualenvwrapper.sh
. - person aaragon   schedule 11.09.2014which
мог найти этот скрипт и посмотреть, все ли он исправляет? - person Etan Reisner   schedule 11.09.2014.bashrc
.$ echo $PATH /Library/Frameworks/Python.framework/Versions/3.4/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/Users/aaragon/Local/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/MacGPG2/bin:/usr/texbin
. Итак, я могу сделатьwhich virtualenvwrapper.sh
, и он найдет его. - person aaragon   schedule 11.09.2014virtualenvwrapper_lazy.sh
? - person Etan Reisner   schedule 11.09.2014$ mkvirtualenv --python=/usr/local/bin/python3 pydev Running virtualenv with interpreter /usr/local/bin/python3 Using base prefix '/Library/Frameworks/Python.framework/Versions/3.4' New python executable in pydev/bin/python3 Also creating executable in pydev/bin/python Installing setuptools, pip...done. /usr/bin/python: No module named virtualenvwrapper
- person aaragon   schedule 11.09.2014workon
создать среду:$ workon pydev /usr/bin/python: No module named virtualenvwrapper /usr/bin/python: No module named virtualenvwrapper
. Ну, я не устанавливалvirtualenvwrapper
сpython
, а только вpython3
. - person aaragon   schedule 11.09.2014VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
эту проблему? Я должен отметить, что я собираю все это, просматривая рассматриваемые сценарии. Я также должен сказать, что явно что-то не так либо с вашей настройкой, либо с самимvirtualenv
, если требуется такая большая возня. Возможно, имеет смысл найти людей, которые действительно знают/работают сvirtualenv
, чтобы посмотреть, что они из всего этого делают. - person Etan Reisner   schedule 11.09.2014workon pydev
, я снова получаю сообщение[Process completed]
, и терминал больше не работает. - person aaragon   schedule 11.09.2014[Process completed]
означает, что оболочка, запущенная в этом окне, завершила работу (каким-то образом это не привело к закрытию окна, так что, возможно, это нечистый выход). Кроме того, как я уже сказал, я думаю, что что-то не так либо с вашей системой, либо с самойvirtualenv
, но я не могу оценитьvirtualenv
сторону вещей, а более глубокое изучение настроек вашей системы - сложный процесс. Извиняюсь. - person Etan Reisner   schedule 11.09.2014.bashrc
и почистил, удалил все, что мне не нужно. Теперь он работает нормально, но я все еще думаю, что процесс созданияvirtualenvwrapper
будет болезненным, так как вам нужно добавить что-то в свой файл профиля. - person aaragon   schedule 11.09.2014.bashrc
. Я потратил на это все утро, в конце концов, я попробовалvirtualenvwrapper
, и он уже работал, но я действительно не знаю, что это исправило. Я могу выслать вам обе версии файла.bashrc
, если хотите. - person aaragon   schedule 11.09.2014cd
и псевдонимwhich
, безусловно, могут вызвать некоторые проблемы. - person Etan Reisner   schedule 11.09.2014which
вызывалась вvirtualenvwrapper_lazy.sh
. Но я не думаю, что это было проблемой, потому что у меня все еще есть этот псевдоним, и теперь он работает. - person aaragon   schedule 11.09.2014