Как именно virtualenvwrapper «привязывается» к каталогам проекта

За последние пару дней я начал использовать отличный virtualenvwrapper от Дуга Хеллманна, и, хотя его функции в основном потрясающие, я изо всех сил пытаюсь разобраться в паре его команд.

setvirtualenvproject указывает, что:

Аргументами setvirtualenvproject являются полные пути к каталогу virtualenv и проекта. Ассоциация создается таким образом, что когда workon активирует виртуальную среду, проект также активируется.

Что именно имеет в виду автор, когда говорит, что проект тоже активирован? Я могу понять, что означает «активация виртуальной среды», но «активация проекта» не имеет для меня особого смысла.

Кроме того, что это за «привязка», указанная в обоих

Видимо, я немного запутался в этих понятиях. Любое понимание будет высоко оценено. Заранее спасибо.


person kstratis    schedule 02.10.2014    source источник


Ответы (1)


Одной из приятных особенностей virtualenvwrapper является то, что он может отделить каталог вашего проекта от самого virtualenv. Каталог проекта содержит только ваш код; virtualenv содержит Python и любые сторонние библиотеки. Это делает среду более чистой и упрощает навигацию по структуре проекта.

Привязка virtualenv к проекту — это всего лишь вопрос скрытого файла .project в каталоге virtualenv, который указывает на фактический каталог проекта. Это означает, что когда вы выполняете workon myproject в виртуальной среде с включенным проектом, вы попадаете туда, а не в саму виртуальную среду.

person Daniel Roseman    schedule 02.10.2014
comment
по какой-то причине, если я использую «mkproject», virtualenvwrapper перейдет в каталог проекта, но если я использую «mkvirtualenv», даже после использования «setvirtualenvproject», моя командная строка не перейдет в каталог проекта, который я только что установил с помощью « setvirtualenvproject', есть идеи, почему это так? - person Kevin Zhao; 09.04.2016