Pip, virtualenv и virtualenvwrapper: различия между версиями
imported>Supportadmin (Новая страница: «[http://vorushin.ru/blog/29-pip-virtualenv-virtualenvwrapper/ источник] В мейл-конференции Python-Dev всерьез обсуждают …») |
imported>Supportadmin Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 6: | Строка 6: | ||
Утилита pip предназначена для установки питоновских библиотек из PyPI, из архивного файла, из git-a, в общем - отовсюду. | Утилита pip предназначена для установки питоновских библиотек из PyPI, из архивного файла, из git-a, в общем - отовсюду. | ||
pip install South (установить последнюю версию South из PyPI) | pip install South (установить последнюю версию South из PyPI) | ||
pip install http://www.aeracode.org/releases/south/south-0.6.2.tar.gz (установить South из указанного файла) | pip install http://www.aeracode.org/releases/south/south-0.6.2.tar.gz (установить South из указанного файла) | ||
pip install hg+http://bitbucket.org/andrewgodwin/south/ | pip install hg+http://bitbucket.org/andrewgodwin/south/ | ||
(установить South из транка, кроме hg+ поддерживаются также svn+, git+, bzr+) | (установить South из транка, кроме hg+ поддерживаются также svn+, git+, bzr+) | ||
pip install South==0.5 (установить конкретную версию) | pip install South==0.5 (установить конкретную версию) | ||
pip uninstall South | pip uninstall South | ||
==Virtualenv== | ==Virtualenv== | ||
Скрипт virtualenv позволяет создать изолированное рабочее окружение. Команда virtualenv tests --no-site-packages создает в текущей директории папку tests с подпапками bin, include, lib. В папке bin создаются линки на easy_install, pip и текущую версию интерпретатора python. Параметр --no-site-packages запрещает использовать уже установленные system-wide библиотеки. Чтобы войти в это изолированное окружение, нужно выполнить команду source tests/bin/activate. После активации окружения все команды pip воздействуют только на текущее окружение. | Скрипт virtualenv позволяет создать изолированное рабочее окружение. Команда virtualenv tests --no-site-packages создает в текущей директории папку tests с подпапками bin, include, lib. В папке bin создаются линки на easy_install, pip и текущую версию интерпретатора python. Параметр --no-site-packages запрещает использовать уже установленные system-wide библиотеки. Чтобы войти в это изолированное окружение, нужно выполнить команду source tests/bin/activate. После активации окружения все команды pip воздействуют только на текущее окружение. | ||
virtualenv tests --no-site-packages | virtualenv tests --no-site-packages | ||
source tests/bin/activate | source tests/bin/activate | ||
Устанавливаем пакеты. | Устанавливаем пакеты. | ||
pip install Django | pip install Django | ||
pip install South | pip install South | ||
Формируем список установленных пакетов - для передачи другому разработчику или для деплоймента. | Формируем список установленных пакетов - для передачи другому разработчику или для деплоймента. | ||
pip freeze > requirements.txt | pip freeze > requirements.txt | ||
Содержимое файла requirements.txt: | Содержимое файла requirements.txt: | ||
Django==1.1.1 | Django==1.1.1 | ||
South==0.6.2 | South==0.6.2 | ||
wsgiref==0.1.2 | wsgiref==0.1.2 | ||
Устанавливаем все пакеты из этого файла одной командой: | Устанавливаем все пакеты из этого файла одной командой: | ||
pip install -r requirements.txt | pip install -r requirements.txt | ||
==Virtualenvwrapper== | ==Virtualenvwrapper== | ||
Через какое-то время разработчики обленились и решили, что переходить в папку, где хранятся все окружения и делать там source env_name/bin/activate - это слишком долго. Они создали вспомогательные скрипты, которую позволяют сменить окружение одной командой. Одним из самых популярных стал набор скриптов virtualenvwrapper. Руководство по установке смотрите на сайте разработчика virtualenvwrapper Doug Hellman. | Через какое-то время разработчики обленились и решили, что переходить в папку, где хранятся все окружения и делать там source env_name/bin/activate - это слишком долго. Они создали вспомогательные скрипты, которую позволяют сменить окружение одной командой. Одним из самых популярных стал набор скриптов virtualenvwrapper. Руководство по установке смотрите на сайте разработчика virtualenvwrapper Doug Hellman. | ||
Строка 39: | Строка 46: | ||
Создаем два окружения, tests и big_project: | Создаем два окружения, tests и big_project: | ||
mkvirtualenv tests --no-site-packages | mkvirtualenv tests --no-site-packages | ||
mkvirtualenv big_project --no-site-packages | mkvirtualenv big_project --no-site-packages | ||
Переходим в tests и ставим несколько библиотек: | Переходим в tests и ставим несколько библиотек: | ||
workon tests | workon tests | ||
pip install Django | pip install Django | ||
pip install South | pip install South | ||
Переходим в big_project и ставим другие версии библиотек: | Переходим в big_project и ставим другие версии библиотек: | ||
workon big_project | workon big_project | ||
pip install Django==1.0.4 | pip install Django==1.0.4 | ||
pip install South==0.5 | pip install South==0.5 | ||
Удаляем окружение tests: | Удаляем окружение tests: | ||
rmvirtualenv tests | rmvirtualenv tests | ||
Все команды можно вызывать из любой папки, все виртуальные окружения создаются в специальной папке WORKON_HOME (по умолчанию, $HOME/.virtualenvs). Переключение между окружение - одной единственной командой workon. Красота! | Все команды можно вызывать из любой папки, все виртуальные окружения создаются в специальной папке WORKON_HOME (по умолчанию, $HOME/.virtualenvs). Переключение между окружение - одной единственной командой workon. Красота! | ||
Pip - http://pip.openplans.org/. | *Pip - http://pip.openplans.org/. | ||
Virtualenv - http://pypi.python.org/pypi/virtualenv | *Virtualenv - http://pypi.python.org/pypi/virtualenv | ||
Virtualenvwrapper - http://www.doughellmann.com/projects/virtualenvwrapper/ | *Virtualenvwrapper - http://www.doughellmann.com/projects/virtualenvwrapper/ |
Текущая версия от 17:46, 8 ноября 2013
В мейл-конференции Python-Dev всерьез обсуждают включение фукнциональности virtualenv в Python. Это очень удобный инструмент питониста, позволяющий легко работать на одной машине с разными версиями библиотек (например, с django 1.0.4 и django из транка), быстро передавать список зависимостей проекта другим разработчикам (а они смогут поставить все библиотеки одной командой), упрощают деплоймент.
Pip
Утилита pip предназначена для установки питоновских библиотек из PyPI, из архивного файла, из git-a, в общем - отовсюду.
pip install South (установить последнюю версию South из PyPI) pip install http://www.aeracode.org/releases/south/south-0.6.2.tar.gz (установить South из указанного файла) pip install hg+http://bitbucket.org/andrewgodwin/south/ (установить South из транка, кроме hg+ поддерживаются также svn+, git+, bzr+) pip install South==0.5 (установить конкретную версию) pip uninstall South
Virtualenv
Скрипт virtualenv позволяет создать изолированное рабочее окружение. Команда virtualenv tests --no-site-packages создает в текущей директории папку tests с подпапками bin, include, lib. В папке bin создаются линки на easy_install, pip и текущую версию интерпретатора python. Параметр --no-site-packages запрещает использовать уже установленные system-wide библиотеки. Чтобы войти в это изолированное окружение, нужно выполнить команду source tests/bin/activate. После активации окружения все команды pip воздействуют только на текущее окружение.
virtualenv tests --no-site-packages source tests/bin/activate
Устанавливаем пакеты.
pip install Django pip install South
Формируем список установленных пакетов - для передачи другому разработчику или для деплоймента.
pip freeze > requirements.txt
Содержимое файла requirements.txt:
Django==1.1.1 South==0.6.2 wsgiref==0.1.2
Устанавливаем все пакеты из этого файла одной командой:
pip install -r requirements.txt
Virtualenvwrapper
Через какое-то время разработчики обленились и решили, что переходить в папку, где хранятся все окружения и делать там source env_name/bin/activate - это слишком долго. Они создали вспомогательные скрипты, которую позволяют сменить окружение одной командой. Одним из самых популярных стал набор скриптов virtualenvwrapper. Руководство по установке смотрите на сайте разработчика virtualenvwrapper Doug Hellman.
После установки и настройки работа с виртуальными окружениями становится еще более удобной.
Создаем два окружения, tests и big_project:
mkvirtualenv tests --no-site-packages mkvirtualenv big_project --no-site-packages
Переходим в tests и ставим несколько библиотек:
workon tests pip install Django pip install South
Переходим в big_project и ставим другие версии библиотек:
workon big_project pip install Django==1.0.4 pip install South==0.5
Удаляем окружение tests:
rmvirtualenv tests
Все команды можно вызывать из любой папки, все виртуальные окружения создаются в специальной папке WORKON_HOME (по умолчанию, $HOME/.virtualenvs). Переключение между окружение - одной единственной командой workon. Красота!
- Pip - http://pip.openplans.org/.
- Virtualenv - http://pypi.python.org/pypi/virtualenv
- Virtualenvwrapper - http://www.doughellmann.com/projects/virtualenvwrapper/