Skip to content

[TASK] Виртуальное окружение #7 (https://github.com/SENATOROVAI/intro-cs/issues/7)#669

Closed
Nieams wants to merge 1 commit into
SENATOROVAI:mainfrom
Nieams:TASK-Виртуальное-окружение-#7

Hidden character warning

The head ref may contain hidden characters: "TASK-\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435-#7"
Closed

[TASK] Виртуальное окружение #7 (https://github.com/SENATOROVAI/intro-cs/issues/7)#669
Nieams wants to merge 1 commit into
SENATOROVAI:mainfrom
Nieams:TASK-Виртуальное-окружение-#7

Conversation

@Nieams

@Nieams Nieams commented Jul 20, 2026

Copy link
Copy Markdown
Member

@Nieams Nieams left a comment

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.

Сабмичу

Comment thread python/venv.py
Comment on lines +1 to +43
"""Виртуальное окружение."""

# 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)

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.

Сделай ревью

@Nieams
Nieams requested a review from ruslansenatorov July 20, 2026 13:22
@Toleranzy

Copy link
Copy Markdown
Member

review done

@Toleranzy Toleranzy closed this Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants