diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a992a51a..35bf38cc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -159,8 +159,6 @@ repos: - --disallow-any-generics - --local-partial-types - --pretty - - --force-uppercase-builtins - - --force-union-syntax - --warn-unreachable - --warn-redundant-casts - --warn-return-any diff --git a/python/venv.ipynb b/python/venv.ipynb new file mode 100644 index 00000000..a624b05c --- /dev/null +++ b/python/venv.ipynb @@ -0,0 +1,96 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "0b61e8a3", + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"Closes https://github.com/SENATOROVAI/intro-cs/issues/7.\"\"\"" + ] + }, + { + "cell_type": "markdown", + "id": "66a93f86", + "metadata": {}, + "source": [ + "1. Что делает команда python -m venv venv?\n", + "- создает переменную окружения venv в проекте\n", + "\n", + "1.1 Что делает каждая команда в списке ниже?\n", + "- pip list # выводит список библиотек и их зависимостей venv в терминал\n", + "- pip freeze > requirements.txt # экспортирует библиотеки и зависимости из текущей venv в файл requirements.txt\n", + "- pip install -r requirements.txt # импортирует либы из requirements.txt в venv или в глобальный python\n", + "\n", + "2. Что делает каждая команда в списке ниже?\n", + "- conda env list # выводит список либ и зависимостей проекта в менеджере пакетов и venv conda\n", + "- conda create -n env_name python=3.5 # создание нового окружения env_name и установка в него python 3.5\n", + "- conda env update -n env_name -f file.yml # обновление окружения по yml файлу\n", + "- source activate env_name # активация venv env_name\n", + "- source deactivate # выход из venv\n", + "- conda clean -a # очистка кжша conda и освобождение места на диске\n", + "\n", + "3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение \"SENATOROV\"\n", + "\n", + "![Активация окружений](images/activate_venv_conda.png)\n", + "\n", + "4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv?\n", + "- conda env update -f environment.yml\n", + "- pip install -r requirements.txt\n", + "\n", + "5. Что делают эти команды?\n", + "pip freeze > requirements.txt # экспортирует все библиотеки текущей venv и их зависимости в файл requirements.txt пакетным менеджером pip\n", + "\n", + "conda env export > environment.yml # экспортирует все библиотеки текущего окружения Conda и их зависимости в файл requirements.txt менеджером пакетов и окружений в файл environment.yml \n", + "\n", + "5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости\n", + "\n", + "![VENV](images/venv_screen.png)\n", + "\n", + "6. Что делают эти команды?\n", + "pip install -r requirements.txt # устанавливает либы и зависимости из файла requirements.txt в текущий venv при помощи пакетного менеджера pip.\n", + "\n", + "conda env create -f environment.yml. # создает новое окружение с именем env и устанавливает либы и зависимости из файла requirements.txt в текущее окружение Conda при помощи менеджера пакетов и окружения conda.\n", + "\n", + "7. Что делают эти команды?\n", + "pip list # выводят список библиотек, инсталлированных pip в текущем окружении\n", + "pip show # показывает сведения о конкретной библиотеке\n", + "conda list # показывает все все установленные пакеты в Conda-окружении, установленные через condа и многие установленные через pip.\n", + "\n", + "8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda?\n", + "\n", + "- по умолчанию пакетов больше в conda. DS используют conda, ибо в ней предустановлены основные бибилиотеки для исследований, такие как numpy, pandas и 20+ др.\n", + "\n", + "\n", + "9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor\n", + "![Interpreter](images/conda-interpreter.png)\n", + "\n", + "10. добавьте в .gitignore папку SENATOROV\n", + "![gitignore-dir](images/adding-gitignore.png)\n", + "\n", + "11. Зачем нужно виртуально окружение?\n", + "- это изолированная среда Python, которая позволяет каждому проекту использовать свою версию Python и свой набор библиотек без влияния на глобальную систему и другие проекты. \n", + "\n", + "12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением?\n", + "ДА!\n", + "\n", + "Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda\n", + "- Анигилировал" + ] + }, + { + "cell_type": "markdown", + "id": "fa379b14", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python/venv.py b/python/venv.py new file mode 100644 index 00000000..085e94b1 --- /dev/null +++ b/python/venv.py @@ -0,0 +1,66 @@ +"""Closes https://github.com/SENATOROVAI/intro-cs/issues/7.""" + +# 1. Что делает команда python -m venv venv? +# - создает переменную окружения venv в проекте +# +# 1.1 Что делает каждая команда в списке ниже? +# - pip list # выводит список библиотек и их зависимостей venv в терминал +# - pip freeze > requirements.txt # экспортирует библиотеки и зависимости из текущей venv в файл requirements.txt +# - pip install -r requirements.txt # импортирует либы из requirements.txt в venv или в глобальный python +# +# 2. Что делает каждая команда в списке ниже? +# - conda env list # выводит список либ и зависимостей проекта в менеджере пакетов и venv conda +# - conda create -n env_name python=3.5 # создание нового окружения env_name и установка в него python 3.5 +# - conda env update -n env_name -f file.yml # обновление окружения по yml файлу +# - source activate env_name # активация venv env_name +# - source deactivate # выход из venv +# - conda clean -a # очистка кжша conda и освобождение места на диске +# +# 3. вставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение "SENATOROV" +# +# ![Активация окружений](images/activate_venv_conda.png) +# +# 4. Как установить необходимые пакеты внутрь виртуального окружения для conda/venv? +# - conda env update -f environment.yml +# - pip install -r requirements.txt +# +# 5. Что делают эти команды? +# pip freeze > requirements.txt # экспортирует все библиотеки текущей venv и их зависимости в файл requirements.txt пакетным менеджером pip +# +# conda env export > environment.yml # экспортирует все библиотеки текущего окружения Conda и их зависимости в файл requirements.txt менеджером пакетов и окружений в файл environment.yml +# +# 5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости +# +# ![VENV](images/venv_screen.png) +# +# 6. Что делают эти команды? +# pip install -r requirements.txt # устанавливает либы и зависимости из файла requirements.txt в текущий venv при помощи пакетного менеджера pip. +# +# conda env create -f environment.yml. # создает новое окружение с именем env и устанавливает либы и зависимости из файла requirements.txt в текущее окружение Conda при помощи менеджера пакетов и окружения conda. +# +# 7. Что делают эти команды? +# pip list # выводят список библиотек, инсталлированных pip в текущем окружении +# pip show # показывает сведения о конкретной библиотеке +# conda list # показывает все все установленные пакеты в Conda-окружении, установленные через condа и многие установленные через pip. +# +# 8. Где по умолчанию больше пакетов venv/pip или conda? и почему дата сайнинисты используют conda? +# +# - по умолчанию пакетов больше в conda. DS используют conda, ибо в ней предустановлены основные бибилиотеки для исследований, такие как numpy, pandas и 20+ др. +# +# +# 9. вставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor +# ![Interpreter](images/conda-interpreter.png) +# +# 10. добавьте в .gitignore папку SENATOROV +# ![gitignore-dir](images/adding-gitignore.png) +# +# 11. Зачем нужно виртуально окружение? +# - это изолированная среда Python, которая позволяет каждому проекту использовать свою версию Python и свой набор библиотек без влияния на глобальную систему и другие проекты. +# +# 12. С этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением? +# ДА! +# +# Удалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda +# - Анигилировал + +#