source для virtualenv под windows

Иногда бывает нужно сделать свой, небольшой локальный Python-мирок. Например, если мы пишем на djan­go и не хотим ставить пакеты глобально.

Официальная документация по djan­go советует vir­tualenv. Действия такие:

$ virtualenv env
$ source env/bin/activate

А потом мы работаем в этой папке, как если бы именно она была у нас системной.

Но если вы вынуждены работать под Win­dows (например, такова политика компании), то это невозможно — в языке консоли Win­dows нет команды source или её аналога. Да и в Pow­er­shell она сводится к запуску скрипта в определённом контексте.

Самый лучший выход — поставить cyg­win. Он ставится быстро, осваивается за несколько минут (логические диски — это папки вида /cygdrive/c/, остальное как привыкли) и позволяет писать строго по инструкции.

Правда, многих пакетов, который нам понадобятся, в нём по умолчанию нет. Поэтому надо их дополнительно поставить.

Для начала — при установке укажите, что хотите поставить Lynx. Если вы забыли — просто запустите установку ещё раз и укажите нужный пакет, он сам докачает и положет в нужную папку.

Потом ставим скрипт apt-cyg, который эмулирует apt-get.

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Теперь начинаем ставить командами в духе apt-get install wget (пока wget-а нет, он будет качать через lynx)

И дальше по инструкции для Python

Ставим пакеты, настраиваем и приступаем к работе. Или просто берём готовую сборку.

В процессе установки пакетов есть риск подорваться. Если попытаться поставить их через ez_setup.py, то внезапно узнаешь, что urllib2.HTTPError: HTTP Error 403: SSL is required.

Это связано с тем, что Pip поменял правила доступа к репозиторию. И давно обзавёлся своим инсталлятором:

apt-cyg curl # если ещё не ставил
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

Далее настраиваем, как положено, и наслаждаемся vir­tualenv.

  • Создать: mkvirtualenv my-first-env
  • Запустить: workon my-first-env
  • Завершить: deactivate
  • Удалить: rmvirtualenv my-first-env

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *