4.7 KiB
Лабораторная работа 0. Подготовка окружения
Время на работу: 1 пара. Оценка: зачёт/не зачёт.
Цель работы
Подготовить рабочее окружение и убедиться, что все механизмы параллельного программирования доступны на вашей машине — до того, как вы начнёте основную лабораторную.
Теория (минимум)
Виртуальное окружение (venv)
Виртуальное окружение — изолированная папка с собственной копией Python и
своим набором библиотек. Оно нужно, чтобы зависимости курса не конфликтовали
с другими проектами. Активированное окружение видно в терминале по префиксу
(.venv).
Почему не Google Colab / онлайн-интерпретаторы
Параллельность — это про реальные ядра CPU и реальную ОС. В облаке вы не
получите ни честного числа ядер, ни контроля над фоновыми процессами, ни
Windows-специфики spawn. Работаем локально.
Модель памяти Python: всё передаётся по ссылке
В Python переменные — ссылки на объекты. Для потоков это значит: все потоки одного процесса видят одни и те же объекты — отсюда гонки данных (лаба 5). Для процессов это значит: каждый процесс получает свою копию данных (через pickle) — отсюда накладные расходы (лаба 4).
Задание
Шаг 1. Установите Python 3.10+
Windows: python.org → Downloads → «Windows installer (64-bit)». Обязательно отметьте «Add python.exe to PATH» на первом экране установщика.
Проверка (новое окно терминала):
python --version
Шаг 2. VS Code
Установите VS Code и расширение Python (издатель Microsoft). Откройте
папку курса: File → Open Folder. Терминал: Terminal → New Terminal
(или Ctrl+`).
Шаг 3. Виртуальное окружение и зависимости
В терминале VS Code из корня курса:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
macOS/Linux: source .venv/bin/activate.
Если VS Code спросит интерпретатор — выберите .\.venv\Scripts\python.exe.
Шаг 4. Git (кратко, если ещё не знакомы)
git init
git add .
git commit -m "lab 0: окружение готово"
Дальше фиксируйте прогресс коммитами — это история вашей работы (и аргумент в спорах о списывании).
Шаг 5. Проверка окружения
python lab00_intro\check_env.py
Скрипт проверит версию Python, наличие библиотек, число ядер CPU и работоспособность
потоков, процессов и asyncio. Все проверки должны быть [OK].
Шаг 6. Свой вариант
from common.tasks import get_variant
print(get_variant(<ваш номер в журнале>))
Запишите параметры — они понадобятся во всех следующих лабораторных.
Контрольные вопросы
- Зачем нужно виртуальное окружение? Что произойдёт, если его не создавать?
- Чем процесс отличается от потока? (Подсказка: общая память.)
- Почему для этого курса важна работа на локальной машине, а не в облаке?
Что сдаётся
- Скриншот вывода
check_env.py(все проверки[OK]); - короткий ответ на контрольные вопросы (можно в чате при сдаче).
Критерии зачёта
| Пункт | Баллы |
|---|---|
Окружение развёрнуто, check_env.py всё [OK] |
1 |
| Ответы на контрольные вопросы | 1 |