Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -333,3 +333,6 @@ coverage/

/Math/calculus/theory
/Math/school_theory

SENATOROV/

10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ repos:
- --sync
- --warn-only
exclude: '.*\.md$'
- repo: https://github.com/PyCQA/docformatter
rev: "eb1df347edd128b30cd3368dddc3aa65edcfac38"
hooks:
- id: docformatter
args: [--in-place, --wrap-descriptions=120, --style=google]
# - repo: https://github.com/PyCQA/docformatter
# rev: "eb1df347edd128b30cd3368dddc3aa65edcfac38"
# hooks:
# - id: docformatter
# args: [--in-place, --wrap-descriptions=120, --style=google]
- repo: https://github.com/psf/black.git
rev: "24.10.0"
hooks:
Expand Down
Binary file added environment.yml
Binary file not shown.
104 changes: 104 additions & 0 deletions python/venv.ipynb

Large diffs are not rendered by default.

45 changes: 45 additions & 0 deletions python/venv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,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: ![image.png](attachment:image.png)
# через conda: ![image-2.png](attachment:image-2.png)
# 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, файлы должны содержать зависимости:
# ![image-3.png](attachment:image-3.png)
# 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 ![image-4.png](attachment:image-4.png)
#
# 10. добавьте в .gitignore папку SENATOROV: ![image-5.png](attachment:image-5.png)
#
# 11. Зачем нужно виртуально окружение? В основном для того чтобы избежать конфликтов между разными версиями библиотек и модулей, изолируя текущие зависимости и пакеты. (также можно добавить упрощение переноса кода, лишние библиотеки, не относящиеся к проекту не попадут в репозиторий, и безопасность операционной системы, то есть защита от поломок)
#
# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением? да!
#
# 13. Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda - ок! ![image-6.png](attachment:image-6.png)
Comment on lines +1 to +43

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделай ревью

#
#
Binary file added requirements.txt
Binary file not shown.
Loading