У меня есть проблема с virtualenv. Я использую его regulary, я использую его на своей машине разработки и на нескольких серверах. Но на этом последнем сервере, который я пытался использовать, я получил проблему.
Я создал virtualenv с - no-site-packages аргумент, и затем я установил некоторые модули Python в virtualenv. Я могу подтвердить, что модули расположены в virtualenvs пакетах сайта, и все, кажется, прекрасно.
Но когда я пытаюсь сделать:source virtualenv/bin/activate
и затем импортируйте один из модуля python import modulename
я получаю ошибку импорта, которая говорит, что модуль не существует. Как получается, что это - happending? Кажется, что это никогда не активируется даже, хотя это, это говорит это, делает.
У кого-либо есть подсказка о том, как зафиксировать это?
Есть ли на этом компьютере активный псевдоним bash для "python"? Это будет иметь приоритет над изменениями PATH, сделанными при активации, и может привести к использованию неправильного двоичного файла python.
Попробуйте запустить virtualenv / bin / python напрямую (активация не требуется) и посмотрите, сможете ли вы импортировать свой модуль.
Если это поможет, вам просто нужно избавиться от псевдонима python bash.
IIRC, сценарий активации просто помещает ваш виртуальный env первым на ваш путь, поэтому, когда вы набираете "python", он сначала находит тот, который находится в вашем виртуальном окружении. Если сценарий активации не работает, вы всегда можете изменить свой путь вручную. Также - перейдите сюда и выполните поиск по запросу «активировать»: http://pylonsbook.com/en/1.1/installing-pylons.html#setting-up-a-virtual-python-environment . Это расскажет вам, почему команда активации может не работать.
После активации виртуальной зависти попробуйте:
$ python
>>> import sys
>>> sys.executable
...
... и посмотрите, запущен ли ожидаемый исполняемый файл.
Также проверьте:
>>> sys.path
[...]