-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvenv.py
More file actions
45 lines (44 loc) · 7.81 KB
/
Copy pathvenv.py
File metadata and controls
45 lines (44 loc) · 7.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
"""Виртуальное окружение."""
# 1. Что делает команда python -m venv venv? Создает виртуальное окружение python с названием venv (-m - флаг, отвечающий за модуль (module), то есть мы говорим пайтону запустить модуль с названием venv)
# 1.1. Что делает каждая команда в списке ниже?
# pip list - показывает зависимости текущего проекта и иъ версии
# pip freeze > requirements.txt - фиксирует используемые в проекте библиотеки в файл requirements.txt (знак > перенаправляет вывод в текстовый файл)
# pip install -r requirements.txt - устанавливает библиотеки, прописанные в соответствующем файле (requirements.txt, -r - буквально означает requirements)
# Примечание: пип лист больше удобен и читаем для человека, а пип фриз - для машины (хотя оба показывают список установленных пакетов).
# 2. Что делает каждая команда в списке ниже?
# conda env list - показывает список доступных (созданных) виртуальный окружений с помощью conda
# conda create -n env_name python=3.5 - создает виртуальное окружение с версией пайтона 3.5 (-n - флаг, отвечающий за имя (name))
# conda env update -n env_name -f file.yml - обновляет библиотеки и зависимости из файла file.yml (файл конфигурации со списком библиотек, аналог requirements.txt), если он был изменен. Примечание: флаг -f - указывает файл из которого смотрятся библиотеки проекта, -n - имя виртуального окружения.
# source activate env_name - эта команда активирует виртуальное окружение (unix like systems)
# source deactivate - деактивирует текущее (активное) виртуальное окружение
# conda clean -a - удаляет неиспользуемые и временные файлы (кэш, неиспользуемые библиотеки и их установщики). -a - флаг, которые означает все (all)
# 3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение "SENATOROV"
# через venv: 
# через conda: 
# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv?
# VENV: в venv мы в активированном venv прописываем pip install, которые нам нужны или выгружаем все необходимые зависимости из requirement.txt командой pip install -r requirements.
# CONDA: в виртуальном окружении конды мы прописываем команду с заранее подготовленным файлом conda env create -f environment (прописывается 1 раз, с нуля), создастся ВО с соответствующими пакетами. Поштучно: conda install package_name, и обновление (дополнение) пакетов с помощью файла: conda env update -n env_name -f file.yml
# 5. Что делают эти команды?
# pip freeze > requirements.txt - отмечает все установленные библиотеки, модули и зависимости в текущем виртуальном окружении в файл requirements.txt
# conda env export > environment.yml - отмечает все установленные библиотеки, модули и зависимости в текущем виртуальном окружении в файл environment.yml
# 5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости:
# 
# 6. Что делают эти команды?
# pip install -r requirements.txt - устанавливает прописанные пакеты из requirements.txt
# conda env create -f environment.yml - создает новое окружение и устанавливает прописанные пакеты из environment.yml (при использовании conda)
# 7. Что делают эти команды?
# pip list - показывает список установленных зависимостей и библиотек в текущем окружении
# pip show - показывает подробную информацию по одному конкретному пакету
# conda list - показывает список установленных зависимостей и библиотек в текущем окружении (при использовании виртуального окружения с помощью conda)
# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda? conda - 542 строчки (conda list), pip - 393 (pip list), соответственно в conda по умолчанию больше пакетов (но это локально, глобально в репозиториях pip гораздо больше библиотек). Дата саентисты используют конду, потому что в ней предустановленны все необходимые библиотеки (также и ПО, несвязанное напрямую с Python) именно для дата саенс, вследствие чего экономится время на установку библиотек и зависимостей.
# 9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor 
#
# 10. добавьте в .gitignore папку SENATOROV: 
#
# 11. Зачем нужно виртуально окружение? В основном для того чтобы избежать конфликтов между разными версиями библиотек и модулей, изолируя текущие зависимости и пакеты. (также можно добавить упрощение переноса кода, лишние библиотеки, не относящиеся к проекту не попадут в репозиторий, и безопасность операционной системы, то есть защита от поломок)
#
# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением? да!
#
# 13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda - ок! 
#
#