Виртуальное окружение
Представь, что у тебя два проекта. Для одного требуется Джанго версии 1.6, а для другого – 1.10. Установленной можно иметь только одну версию пакета.
Пришлось бы каждый раз при переключении между этими проектами удалять одну версию пакета и устанавливать другую. Это неудобно и раздражает. А если таких пакетов много, то терпеть подобное совершенно невозможно.
virtualenv
Решение в установке всех пакетов для каждого проекта отдельно. Модули можно устанавливать не глобально, а в отдельную кучку для каждого проекта.
Такая кучка называется виртуальным окружением.
Умение пользоваться виртуальным окружением – мастхев, без него даже на Девмане будет неуютно.
Прочитай про виртуальные окружения из “Автостопом по Питону”. Там всё, что надо знать про virtualenv.
Пример использования:
$ virtualenv название_папки_виртуального_окружения
$ source название_папки_виртуального_окружения/bin/activate
virtualenvwrapper
Виртуальное окружение – удобная штука, но добавляет пару действий: при переключении к другому проекту в него нужно зайти, вспомнить, где живёт окружение и активировать его.
Тут помогает virtualenvwrapper: он привносит структуру и порядок в работу с виртуальными окружениями.
Как установить и пользоваться написано по ссылке выше.
venv
Стандартное решение для создания виртуальных окружений в Питоне версии 3.3 и старше. Различия с virtualenv
минимальны. Ссылка на документацию.
Плюсы:
- Идет в комплекте с Питоном3.
- Считается решением по умолчанию, а значит, меньше проблем с совместимостью.
- Создаёт
framework-build
Питона вместо обыкновенного для OSX. Такой билд необходим для правильной работы некоторых библиотек, к примеру, matplotlib и pyplot. Подробнее об этом можно почитать здесь.
Минусы:
- Нет надстроек, написанных для
virtualenv
.
Как создать виртуальное окружение:
$ python3 -m venv --copies /полный/путь/до/папки/виртуального/окружения
$ # --copies активирует копирование файлов вместо создания symlinks. С последними не дружит PyCharm.
$ # в Ubuntu доступна также короткая запись — alias pyvenv
$ pyvenv папка/для/виртуального/окружения
Если удобного псевдонима в ОС нет, то его можно создать самостоятельно. Добавь себе в
.bashrc
(для Linux) или в .bash_profile
(для Маков) строку:
pyvenv() { /usr/local/bin/python3 -m venv --copies ./$1; }
Бонус для маководов
Если у тебя Макось, то в качестве оболочки терминала рекомендую iTerm2. Он умеет много полезного по сравнению с обычным терминалом.
Например, можно повесить на горячую клавишу создание нового окна и активацию виртуального окруженения.
У меня так: нажимаю ⌃⌘D
– и я уже в папке Девмана с активированным окружением. Красота!
Это делается в настройках, вкладке Profiles. Вот как у меня:
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.