IT Blog
  • Home
  • About
  • Categories
  • Tags
  • Archives

Virtualenv in Python

Python Virtualenv

Официальная документация по Virtualenv

Virtualenv - инструмент для создания изолированного окружения Python. Это окружение можно использовать для проверки новых версий ваших программ, новых версий пакетов, которые используются или просто в качестве песочницы для новых пакетов. Кроме того, virtualenv можно использовать в качестве рабочего места в случаях, если нет возможности копировать файлы в site-packages по какой-либо причине.

Virtualenv решает ряд проблем:

  • Создание новой изолированной среды для проекта Python;
  • Возможность загрузки пакетов без привилегий admin/sudo;
  • Простая и быстрая упаковка приложения;
  • Создание списка зависимостей одного проекта (с помощью pip);
  • Быстрое восстановление зависимостей с помощью файла требований (с помощью pip);
  • Портативность между системами.

Установка

Предварительно необходимо установить pip и setuptools.

Для Python 3:

sudo aptitude install python3-pip python3-setuptools

Для Python 2:

sudo aptitude install python-pip python-setuptools

Далее отличия будут только в pip. Для Python 3 - pip3, для Python 2 - pip. Далее рассмотрим на примере pip3.

Установка virtualenv:

sudo pip3 install virtualenv

Для большего комфорта работы с virtualenv создано расширение, которое делает все манипуляции с окруженем еще проще. Установка virtualenvwrapper:

sudo pip3 install virtualenvwrapper

В ~/.bashrc дописываем:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

Создаем новое окружение:

mkvirtualenv env-name

Просмотреть список окружений:

workon

Поменять окружение:

workon env-name

Выход из окружения:

deactivate

Удалить окружение:

rmvirtualenv env-name

Находясь в одном из окружений, можно ставить пакеты через pip, как обычно. Для примера выбран пакет - flask:

pip3 install flask

Requirements.txt - файл с описанием зависимостей, позволяет установить все необходимые зависимости за один раз вот таким образом:

pip3 install -r requirements.txt

Создать такой файл можно следующим образом:

pip3 freeze > requirements.txt

P.S. Иногда возникают ситуации, что необходимо использовать virtualenv/virtualenvwrapper для разных веток (2.x и 3.x) Python.

Одно из простых решений - использовать pyenv.


Список источников:

  • Памятка по virtualenv и изолированным проектам на *Python*
  • Python и окружение virtualenv
  • Alias »
comments powered by Disqus

Published

Jan 23, 2017

Last Updated

Apr 27, 2017

Category

Development

Tags

  • python 7
  • virtualenv 2

Contact

Email Newsletter

  • Powered by Pelican. Theme: Elegant by Talha Mansoor