Ошибка импорта с virtualenv

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

Я создал virtualenv с - no-site-packages аргумент, и затем я установил некоторые модули Python в virtualenv. Я могу подтвердить, что модули расположены в virtualenvs пакетах сайта, и все, кажется, прекрасно.

Но когда я пытаюсь сделать:source virtualenv/bin/activate и затем импортируйте один из модуля python import modulename я получаю ошибку импорта, которая говорит, что модуль не существует. Как получается, что это - happending? Кажется, что это никогда не активируется даже, хотя это, это говорит это, делает.

У кого-либо есть подсказка о том, как зафиксировать это?

10
задан espenhogbakk 15 December 2009 в 17:26
поделиться

3 ответа

Есть ли на этом компьютере активный псевдоним bash для "python"? Это будет иметь приоритет над изменениями PATH, сделанными при активации, и может привести к использованию неправильного двоичного файла python.

Попробуйте запустить virtualenv / bin / python напрямую (активация не требуется) и посмотрите, сможете ли вы импортировать свой модуль.

Если это поможет, вам просто нужно избавиться от псевдонима python bash.

16
ответ дан 3 December 2019 в 16:10
поделиться

IIRC, сценарий активации просто помещает ваш виртуальный env первым на ваш путь, поэтому, когда вы набираете "python", он сначала находит тот, который находится в вашем виртуальном окружении. Если сценарий активации не работает, вы всегда можете изменить свой путь вручную. Также - перейдите сюда и выполните поиск по запросу «активировать»: http://pylonsbook.com/en/1.1/installing-pylons.html#setting-up-a-virtual-python-environment . Это расскажет вам, почему команда активации может не работать.

0
ответ дан 3 December 2019 в 16:10
поделиться

После активации виртуальной зависти попробуйте:

$ python
>>> import sys
>>> sys.executable
...

... и посмотрите, запущен ли ожидаемый исполняемый файл.

Также проверьте:

>>> sys.path
[...]
10
ответ дан 3 December 2019 в 16:10
поделиться
Другие вопросы по тегам:

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