Модуль 1 · Урок 2 із 58
venv, pip і відтворюване середовище
Проєкт має запускатися тим interpreter і з тими залежностями, які ви перевірили. Virtual environment ізолює packages одного проєкту від іншого; активація лише змінює пошук команд і не є магією.
Навіщо окреме середовище
sys.executable показує, який interpreter реально виконує код.Створення й перевірка
Windows PowerShell:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -c "import sys; print(sys.executable)"
python -m pip --versionmacOS / Linux:
python3 -m venv .venv
source .venv/bin/activate
python -c 'import sys; print(sys.executable)'
python -m pip --versionШлях у двох останніх командах має вказувати всередину .venv. Якщо shell блокує activation script, не вимикайте захист системи глобально: можна викликати interpreter середовища абсолютним шляхом.
Чому python -m pip надійніше
Команда прив’язує pip до того самого interpreter, який ви щойно перевірили. Окремий executable pip у PATH може належати іншій інсталяції.
python -m pip --version і python -c "import sys; ..."..venv.Мінімальна структура проєкту
python-safe-start/
├── .gitignore
├── README.md
├── requirements.txt
├── src/
│ └── env_report.py
└── tests/
└── test_env_report.py# .gitignore
.venv/
__pycache__/
*.py[cod]
.envПрактика зі starter pack
- Завантажте safe start pack і розпакуйте в нову теку.
- Створіть
.venv, перевірте executable та pip. - Запустіть
python src/env_report.py. - Запустіть
python -m unittest discover -s tests -v. - Поясніть, чому каталог
.venvне має потрапити в ZIP артефакту або Git.
Офіційні джерела
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.