проблема желтка virtualenv

yolk -l дает мне информацию, что у меня есть 114 пакетов, установленных на моей Ubuntu 10.04. После создания нового virtualenv использования каталога

virtualenv virt_env/virt1 --no-site-packages --clear

Я переключился на это, моя измененная подсказка и затем yolk -l дает мне снова те же 114 пакетов.

Что продолжается там?

11
задан Szymon Lipiński 30 April 2010 в 07:37
поделиться

2 ответа

Активация virtualenv заключается в изменении PATH оболочки таким образом, чтобы каталог bin / virtualenv был первым. Это все, он делает. Это означает, что когда вы запускаете "python", он запускает виртуальную копию двоичного файла Python вместо вашего глобального системного python.

Однако, если у вас установлен yolk глобально, единственный двоичный файл «yolk» в вашем PATH - это / usr / local / bin / yolk или что-то в этом роде; активация virtualenv не меняет этого (потому что в вашем bin / каталоге virtualenv нет сценария "yolk"). И сценарий / usr / local / bin / yolk, естественно, имеет ваш системный интерпретатор Python в строке shebang.

Вот почему установка желтка в virtualenv решает проблему; потому что он добавляет сценарий yolk в ваш bin / dir virtualenv, который имеет python virtualenv в своей строке shebang.

Если вы не хотите устанавливать yolk в каждый virtualenv, вы также можете просто скопировать оболочку yolk script из / usr / local / bin или где-то еще в каталог bin вашего virtualenv и вручную изменить строку shebang на укажите на ваш виртуальный питон. Однако это не будет работать с параметром --no-site-packages virtualenv, потому что обертка сценария не сможет найти фактические пакеты желтка, которые необходимо импортировать! Если вы хотите использовать yolk в --no-site-packages virtualenv, на самом деле ваш единственный выбор - установить его там.

18
ответ дан 3 December 2019 в 06:45
поделиться

Если проблема не связана с вашим путем (я полагаю, это так), удалите папку lib и скриптов в каталоге вашего проекта, чтобы очистите настройки virtualenv. Воссоздайте виртуальный env, используя опубликованную вами командную строку. Активируйте virtualenv, а затем установите желток.

0
ответ дан 3 December 2019 в 06:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: