Олег Марков
Разбор site-packages в Python
В Python установленные сторонние модули и пакеты сохраняются в каталоге site-packages. Это ключевое место для управления зависимостями проекта, интеграции библиотек и расширения функциональности. Понимание структуры и правил работы с site-packages помогает эффективно использовать сторонние пакеты и избегать конфликтов. В этой статье мы разберём работу с site-packages в Python.
Определение каталога site-packages
Каталог site-packages находится внутри директории установки Python и зависит от операционной системы и используемой среды:
import site
print(site.getsitepackages()) # Список путей к site-packages
print(site.getusersitepackages()) # Пользовательский каталог site-packagesgetsitepackages()— системный каталог, доступный всем пользователям.getusersitepackages()— пользовательский каталог, не требующий прав администратора.
Работа с установленными пакетами
Для работы с пакетами чаще всего используют pip. Команды pip list и pip show позволяют узнать, какие пакеты установлены и где они находятся:
pip list
pip show requestsPython автоматически ищет модули в каталоге site-packages, поэтому импорт установленного пакета прост:
import requests
response = requests.get("https://example.com")
print(response.status_code)Для начинающих важно понимать, что все установленные библиотеки хранятся в site-packages, и именно оттуда Python их подгружает.
Если вы хотите детальнее погрузиться в работу с модулями, управлением зависимостями и виртуальными средами — приходите на наш курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажёры для практики 24/7, решение задач с живым ревью наставника и еженедельные встречи с менторами.
Виртуальные среды и site-packages
Использование виртуальных сред помогает изолировать зависимости проекта и управлять разными версиями библиотек:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install requestsВнутри виртуальной среды создается отдельный каталог site-packages, что предотвращает конфликт версий между проектами.
import sys
print(sys.path) # Пути, где Python ищет пакеты, включая site-packages виртуальной средыЧастые ошибки
- Попытка импортировать пакет, который не установлен, вызывает
ModuleNotFoundError. - Конфликты версий при использовании системного и пользовательского
site-packages. - Работа без виртуальной среды может привести к зависимости проектов от глобальных пакетов.
- Изменение содержимого
site-packagesвручную без использования pip может привести к нестабильной работе Python.
Частозадаваемые вопросы
Можно ли удалять файлы из site-packages вручную?
Не рекомендуется, лучше использовать pip uninstall.
Как узнать, какой site-packages используется текущей средой?
Используйте site.getsitepackages() или sys.path.
Зачем нужны виртуальные среды? Для изоляции зависимостей и предотвращения конфликтов между проектами.
Заключение
Каталог site-packages — центральное место хранения установленных библиотек Python. Понимание его структуры, использование pip и виртуальных сред позволяет безопасно управлять пакетами и зависимостями проектов.
Для системного изучения работы с модулями, управления зависимостями и виртуальными средами рекомендуем курс Основы Python. В первых трёх модулях уже доступно бесплатное содержание — это позволяет попробовать работу с пакетами и понять структуру курса на практике.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев