Files
freeCodeCamp/guide/russian/python/virtual-environments/index.md
2018-10-16 21:32:40 +05:30

148 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Virtual Environments
localeTitle: Виртуальная среда
---
## Виртуальные сети
Виртуальные среды можно охарактеризовать как изолированные установочные каталоги. Эта изоляция позволяет локализовать установку зависимостей вашего проекта, не заставляя вас устанавливать их в рамках всей системы.
Представьте, что у вас есть два приложения App1 и App2. Оба требуют пакет Pak, но с разными версиями. Если вы установите Pak версии 2.3 для App1, вы не сможете запустить App2, потому что для него требуется версия 3.1. Вот когда вам пригодится виртуальная среда.
Выгоды:
* Вы можете иметь несколько сред, с несколькими наборами пакетов, без конфликтов между ними. Таким образом, требования разных проектов могут быть выполнены одновременно.
* Вы можете легко отпустить свой проект со своими зависимыми модулями.
Вот два способа создания виртуальных сред Python.
## Virtualenv
[`virtualenv`](https://virtualenv.pypa.io/en/stable/) - это инструмент, используемый для создания изолированных сред 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`](https://conda.io/docs/index.html) - это пакет, зависимость и управление средой для многих языков, включая Python.
Чтобы установить Conda, следуйте этим [инструкциям](https://conda.io/docs/user-guide/install/index.html) .
### Создание среды
Чтобы создать виртуальную среду, используйте:
```
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
```
#### Дополнительная информация:
* [Официальный сайт](https://virtualenv.pypa.io/en/stable/) `virtualenv`
* [Официальный сайт](https://conda.io/docs/index.html) `Conda`
* `The Hitchhicker's Guide to Python` - [Pypenv & Virtual Environments](http://docs.python-guide.org/en/latest/dev/virtualenvs/)