Команда Virtualenvwrapper.sh lssitepackages не работает

Я пытаюсь разобраться с виртуальными средами Python и следую нескольким превосходным руководствам, таким как simononsoftware и IAmZed, которые были рекомендованы в ответ на другой ТАК вопрос здесь

Однако у меня возникли некоторые проблемы с virtualenvwrapper. Я читаю документы здесь

Я считаю, что правильно установил virtualenvwrapper. Когда я печатаю

localhost:workspace brendan$ which virtualenvwrapper.sh 

Я получаю ниже. Примечание. Это не моя виртуальная среда.

/usr/local/bin/virtualenvwrapper.sh

Однако, когда я вхожу в свою виртуальную среду через

localhost:workspace brendan$ source virt_env/Credibility/bin/activate

и введите

(Credibility)localhost:workspace brendan$ lssitepackages

я получаю

-bash: lssitepackages: command not found

Я также установил virtualenvwrapper внутри моего Virtualenv Credibility, но команда все еще не работает.

Это мой yolk -l вывод из Credibility Virtualenv

(Credibility)localhost:workspace brendan$ yolk -l
Django          - 1.5.1        - active 
Python          - 2.7.1        - active development (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload)
SQLAlchemy      - 0.8.2        - active 
distribute      - 0.7.3        - active 
nose            - 1.3.0        - active 
pip             - 1.4          - active 
setuptools      - 0.9.7        - active 
stevedore       - 0.10         - active 
virtualenv-clone - 0.2.4        - active 
virtualenv      - 1.10.1       - active 
virtualenvwrapper - 4.1.1        - active 
wsgiref         - 0.1.2        - active development (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7)
yolk            - 0.4.3        - active 
(Credibility)localhost:workspace brendan$ 

Мои подозрения, где я могу ошибаться. В документах сказано:

Сначала несколько шагов инициализации. Большую часть этого нужно сделать только один раз. Вам нужно будет добавить команду в source /usr/local/bin/virtualenvwrapper.sh в файл запуска оболочки, изменив путь к virtualenvwrapper.sh в зависимости от того, где он был установлен pip.

Я не был уверен, как это сделать, поэтому я следовал инструкциям в другом ответе SO здесь

localhost:documents brendan$ cd workspace/
localhost:workspace brendan$ pwd
/Users/brendan/documents/workspace
localhost:workspace brendan$ cat >> ~/.profile
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Users/brendan/documents/workspace
source /usr/local/bin/virtualenvwrapper.sh
localhost:workspace brendan$ source ~/.bash_profile
localhost:workspace brendan$ 

Я думал, что это исправит это, как вы можете видеть, я перезагрузил окно терминала, я также перезапустил его. Однако, в отличие от установки пакета, это не дало мне обратной связи, поскольку я выполнил каждый из шагов, и я думаю, что это может быть причиной проблемы.

Может ли кто-нибудь увидеть проблему здесь или есть другая проблема, которую я не вижу?

Спасибо за помощь

Установка: Mac OSX 10.7.5


person Deepend    schedule 09.08.2013    source источник


Ответы (1)


Во-первых, вам следует установить virtualenvwrapper вне вашей виртуальной среды, а не внутри нее. Затем настройте свой профиль соответствующим образом:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/documents/workspace
source /usr/local/bin/virtualenvwrapper.sh

Вы указали неправильный путь для PROJECT_HOME

Далее, как вы сделали, исходный файл.

Окончательно:

$ mkvirtualenv foo
...
(foo)$ lsvirtualenv

Выполнение этого с помощью команды mkvirtualenv гарантирует выполнение правильных файлов, что добавит команды с правильными путями в вашу виртуальную среду. В следующий раз, когда вы захотите работать с виртуальной средой, вам следует использовать команду workon, например:

 $ workon foo

Это обеспечит правильную настройку путей вместе с конкретными командами оболочки virtualenv.

person Burhan Khalid    schedule 12.08.2013
comment
Я не уверен, почему, но когда я впервые попробовал это, это не сработало ни в одном из моих существующих проектов, но сработало, когда я создал новую виртуальную среду. - person Deepend; 12.08.2013