# Virtual environment

Створення нового віртуального середовища:

```
python3 -m venv env
```

яке буде створено у піддиректорії `env` поточної директорії

Активація:

```
source env/bin/activate
```

Встановити модуль:

```
pip install JSON_minify
```

Встановити залежност з файлу:

```
pip install -r ./env/requirements.txt
```

Детальніше [про pip читай тут](modules/pip).

Деактивація

```
deactivate
```

## Віртуальне середовище

Віртуальне оточення Python - це інструмент, який дозволяє ізолювати проекти Python один від одного. Коли ви розробляєте додаток на Python, вам часто доводиться працювати з різними бібліотеками та залежностями. Віртуальне оточення надає ізольований простір, де ви можете встановити та використовувати конкретні версії бібліотек та інструментів без впливу на інші проекти чи системні бібліотеки.

Ось кілька основних причин використання віртуальних оточень:

1. **Ізоляція проектів:** Кожен проект може мати свої власні залежності, версії бібліотек та інші налаштування. Це усуває конфлікти між різними проектами, які можуть використовувати різні версії однієї й тієї ж бібліотеки.
2. **Управління залежностями:** Ви можете встановлювати, оновлювати та видаляти залежності для кожного проекту незалежно. Це полегшує управління бібліотеками та оновленнями.
3. **Чистота проекту:** Віртуальне оточення створює окремий каталог, в якому зберігаються всі файли, пов'язані з проектом. Це включає бібліотеки, скрипти та інше. Після завершення проекту ви можете легко видалити віртуальне оточення і уникнути забруднення системи.
4. **Переносність:** Віртуальне оточення легко передати іншим розробникам, і вони можуть легко відтворити аналогічне оточення для запуску проекту.

Для створення віртуального оточення ви можете використовувати вбудований модуль `venv` (в Python 3) або інструменти сторонніх розробників, такі як `virtualenv` або `conda`.

## Links

* :book: **Virtual environment** - 2018\_Python\_Tricks\_-\_Dan-Bader.pdf p.271
  * Виртуальная среда Python – Основы  - [https://python-scripts.com/virtualenv](https://python-scripts.com/virtualenv)
* Simple Python version management - [https://github.com/pyenv/pyenv](https://github.com/pyenv/pyenv)|pyenv
  * Установка pyenv - [http://ans.kiev.ua/wiki/python/pyenv](http://ans.kiev.ua/wiki/python/pyenv)
  * Pyenv: удобный менеджер версий python - [https://khashtamov.com/ru/pyenv-python/](https://khashtamov.com/ru/pyenv-python/)
  * PyEnv - Менеджер версий python - [https://habr.com/ru/post/203516/](https://habr.com/ru/post/203516/)
  * Использование нескольких версий Python на unix-подобных операционных системах - [https://ru.hexlet.io/blog/posts/ispolzovanie-neskolkih-versiy-python-na-unix-podobnyh-operatsionnyh-sistemah](https://ru.hexlet.io/blog/posts/ispolzovanie-neskolkih-versiy-python-na-unix-podobnyh-operatsionnyh-sistemah)
