Библиотека сайта rus-linux.net
Архитектура системы управления пакетами в Python
Глава 14 из 1 тома книги "Архитектура приложений с открытым исходным кодом".
Оригинал: Python Packaging
Автор: Tarek Ziade
Дата публикации: 7 Июня 2012 г.
Перевод: А.Панин
Дата публикации перевода: 3 апреля 2013 г.
Creative Commons. Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.
14.3 Современная архитектура системы управления пакетами
14.3.4. Архитектура системы установки Python
python setup.py install
, пакет Distutils
, включенный в стандартную библиотеку, скопирует файлы в вашу систему.
- Модули и пакеты Python будут размещены в директории Python, используемой при запуске интерпретатора: в последней версии Ubuntu в директории
/usr/local/lib/python2.6/dist-packages/
и в Fedora в директории/usr/local/lib/python2.6/sites-packages/
. - Файлы данных проекта могут быть размещены в любой системной директории.
- Исполняемый сценарий будет размещен в системной директории
bin
. В зависимости от платформы может использоваться директория/usr/local/bin
или другая директория, заданная при установке Python.
С версии Python 2.5 файлы метаданных копируются вместе с модулями и пакетами в файлы с именами проект-версия.egg-info
. Например, для проекта virtualenv
будет использоваться имя файла virtualenv-1.4.9.egg-info
. Эти файлы могут использоваться в качестве базы данных установленных проектов, так как в ходе их обхода становится возможным составление списка проектов вместе с их версиями. Однако, установщик из пакета Distutils
не сохраняет список файлов, установленных в систему. Другими словами, нет способа удаления всех файлов, скопированных в систему. Это досадно, так как команда install
поддерживает параметр --record
, который может использоваться для записи списка установленных файлов в текстовый файл. Как бы то ни было, этот параметр не используется по умолчанию и в документации пакета Distutils
содержится лишь краткое упоминание о нем.
Далее: 14.3.5. Setuptools, Pip и аналогичные проекты