2015-09-29 4 views
1

Я новичок в virtualenv, поэтому, возможно, я просто что-то пропускаю. Я успешно создал виртуальную среду. Я запустил activate.bat, что видно в окне команд, и когда я проверяю переменную окружения PATH.Установка django с easy_install в virtualenv

Я запускаю 64-разрядный Python 2.7.8 для Windows в своей виртуальной среде. После активации virtualenv я выполняю easy_install django, который устанавливает django, но устанавливает его глобально, а не изолированную среду. Я подтвердил это, включив интерпретатор и набрав import django ... что привело к ошибке импорта.

Не пропуская удара, я попробовал pip install django из того же активированного командной строки, и это сработало как шарм.

Итак ... с easy_install ... что дает? Это ошибка easy_install или ошибка virtualenv? К сожалению, поскольку установка django через easy_install не смогла установить (она установлена ​​на глобальном уровне), у меня нет полезных сообщений об ошибках.

+0

Я не уверен, что вы просите. Правильный инструмент для использования - pip, easy_install предшествует virtualenv и на самом деле не знает об этом. –

+0

Ну, тогда зачем включать его в установку virtualenv? – ionalchemist

ответ

0

Я никогда не использую сценарий activate.bat. Я просто в конечном итоге с проблемами, если я это сделаю (отредактируйте - посмотрев на него немного, я подозреваю, что это устаревший скрипт для людей, использующих старые подсказки MS-DOS). Используйте сценарий activate.ps1.

...\virtualenv_name\Scripts\activate.ps1

Вы, возможно, придется изменить права доступа (см the execution policy section в руководстве). Насколько я понимаю, политика RemoteSigned предпочтительнее, чем Unrestricted.

Вы должны получить префикс в командной строке с именем вашего virtualenv. Что-то вроде (virtualenv_name) PC C:\> Теперь пип должно работать:

pip install django

Вы можете использовать easy_install, но ... не так пип является стандартом. Если у вас нет специального случая, когда он работает, а pip - нет.

+0

Я полагаю, что это путь;) – ionalchemist

+0

Мне пришлось установить мою политику выполнения на «Неограниченный», чтобы заставить это работать, что является неудачным. И получите это, выполнив 'easy_install django' изнутри powershell, активированного virtualenv. Хотелось бы выяснить, почему разница, но мне нужно вернуться к работе ... – ionalchemist

+0

Еще один комментарий об этом методе ... Мне пришлось запускать '. \ Activ' из каталога' Scripts', чтобы перейти на virtualenv , но впоследствии он должен был запустить 'deactivate' (минус точка и конечная обратная косая черта), чтобы отключить его. Другими словами, это работает '. \ Activate', это не' активирует', тогда как это работает 'deactivate', это не'. \ Deactivate'. Я вполне могу угадать, почему разница здесь, просто кажется, что счетчик интуитивно понятен ... – ionalchemist

Смежные вопросы