Pip, virtualenv и virtualenvwrapper: различия между версиями

Материал из support.qbpro.ru
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. Красота!