Глава 2 · Давайте установим Python!

Устанавливаем первый пакет

pip install — и диагностика самой частой ошибки новичков: «установлено, но почему-то не импортируется».

С активированным окружением (раздел 2.11) можно установить первый пакет. Мы возьмём requests — популярную библиотеку для запросов к веб-серверам, её мы позже используем в проектах курса.

pip install

Терминал (окружение активировано)
(.venv) $ pip install requests

pip скачивает пакет с PyPI (Python Package Index — мы знакомились с ним в главе 1) и распаковывает его прямо в site-packages вашего активного окружения (раздел 2.11).

Проверка установки

Терминал
pip show requests
pip list
python
import requests
print(requests.__version__)

Лаборатория: «Установлено, но import не работает»

Одна из самых частых и самых запутывающих проблем новичков: вы только что установили пакет, видите его в pip list — а import в коде всё равно выдаёт ModuleNotFoundError.

Почти всегда причина одна
Пакет установлен в одно окружение, а код запускается через другое. Например: вы активировали .venv в терминале и поставили туда пакет — но VS Code запускает файл через глобальный интерпретатор, потому что для проекта выбран не тот Python (раздел 2.8).

Порядок диагностики:

  1. Проверьте sys.executable (раздел 2.6) прямо из места, где падает импорт — какой интерпретатор реально используется?
  2. Проверьте, что приглашение терминала показывает (.venv) — окружение точно активировано?
  3. Выполните pip show requests в этом же терминале — пакет точно виден отсюда?
  4. Если вы в VS Code — откройте «Select Interpreter» (раздел 2.8) и убедитесь, что выбран путь именно к .venv, а не к системному или глобальному Python.
★★ Самостоятельная задача
Найдите и почините «два окружения»

Создайте новое окружение .venv2 рядом с существующим .venv (но не активируйте его). В активном .venv установите requests. Деактивируйте окружение, активируйте .venv2 и попробуйте import requests — вы должны увидеть ModuleNotFoundError. Это тот самый сценарий «установлено, но не импортируется» — только вы теперь понимаете, почему.