Виртуална среда на Python, обяснена с примери

Виртуалните среди могат да бъдат описани като изолирани инсталационни директории. Тази изолация ви позволява да локализирате инсталирането на зависимостите на вашия проект, без да ви принуждава да ги инсталирате за цялата система.

Представете си, че имате две приложения, App1 и App2. И двамата използват пакета Pak, но изискват различни версии. Ако инсталирате Pak версия 2.3 за App1, няма да можете да стартирате App2, защото изисква версия 3.1.

Тук виртуалната среда е полезна.

Ползи:

  • Можете да имате множество среди, с множество набори от пакети, без конфликти помежду им. По този начин изискванията на различни проекти могат да бъдат удовлетворени едновременно.
  • Можете лесно да освободите проекта си със собствени зависими модули.

Ето два начина, по които можете да създадете виртуална среда на Python.

Виртуаленв

virtualenvе инструмент, използван за създаване на изолирани среди на Python. Създава папка, която съдържа всички необходими изпълними файлове, за да се използват пакетите, от които ще се нуждае проект на Python.

Можете да го инсталирате с pip:

pip install virtualenv

Проверете инсталацията със следната команда:

virtualenv --version

Създайте среда

За да създадете виртуална среда, използвайте:

virtualenv --no-site-packages my-env

Това създава папка в текущата директория с името на средата ( my-env/). Тази папка съдържа директориите за инсталиране на модули и изпълними файлове на Python.

Можете също така да посочите версията на Python, с която искате да работите. Просто използвайте аргумента --python=/path/to/python/version. Например python2.7:

virtualenv --python=/usr/bin/python2.7 my-env

Списък на средите

Можете да изброите наличните среди със:

lsvirtualenv

Активирайте среда

Преди да можете да започнете да използвате средата, трябва да я активирате:

source my-env/bin/activate

Това гарантира, че my-env/се използват само пакети под .

Ще забележите, че името на средата е показано вляво на подканата. По този начин можете да видите коя е активната среда.

Инсталирайте пакети

Можете да инсталирате пакети един по един или като зададете requirements.txtфайл за вашия проект.

pip install some-package pip install -r requirements.txt

Ако искате да създадете requirements.txtфайл от вече инсталираните пакети, изпълнете следната команда:

pip freeze > requirements.txt

Файлът ще съдържа списък на всички пакети, инсталирани в текущата среда, и съответните им версии. Това ще ви помогне да пуснете проекта си със собствени зависими модули.

Деактивирайте среда

Ако приключите с работата с виртуалната среда, можете да я деактивирате с:

deactivate

Това ви връща към системния интерпретатор на Python по подразбиране с всички инсталирани библиотеки.

Изтрийте среда

Просто изтрийте папката на средата.

Конда

Conda е пакет, зависимост и управление на околната среда за много езици, включително Python.

За да инсталирате Conda, следвайте тези инструкции.

Създайте среда

За да създадете виртуална среда, използвайте:

conda create --name my-env

Conda ще създаде съответната папка в инсталационната директория на Conda.

Можете също така да посочите с коя версия на Python искате да работите:

conda create --name my-env python=3.6

Списък на средите

Можете да изброите всички налични среди с:

conda info --envs

Активирайте среда

Преди да можете да започнете да използвате средата, трябва да я активирате:

source activate my-env

Инсталирайте пакети

Същото като при virtualenv.

Деактивирайте среда

Ако приключите с работата с виртуалната среда, можете да я деактивирате с:

source deactivate

Премахнете среда

Ако искате да премахнете среда от Conda, използвайте:

conda remove --name my-env