LINUX.ORG.RU

[python] distutils. Установка приложения.

 


0

0

Каким образом можно с помощью distutils установить приложение на python, состоящее из нескольких модулей, чтобы модули не сваливались в результате куда-нибудь в /usr/share/python-support, где они доступны для импорта кому-угодно, а так, чтобы были доступны только данному приложению? В Debian, например, подобные приложения располагаются в "/usr/lib/имя приложения" и в /usr/bin находится ссылка на исполняемый скрипт в "/usr/lib/имя приложения". В скачанных исходных текстах выбранного наугад подобного пакета обнаружил, что для установки авторы использовали самописный скрипт. :(

В документации на distutils ничего путного не нашел. Функция setup из distutils.core принимает параметры для установки отдельных модулей, пакетов и исполняемых сценариев: py_modules, packages, scripts. Можно, конечно, при сборке deb пакета в rules жонглировать с параметрами install, install_scripts и --install-lib при вызове setup.py, но это некрасиво. Да и приложение будет использоваться как минимум еще в RHEL и Windows.

Если требуемое поведение с помощью distutils реализовать проблематично, то что можно использовать вместо него? (проект целиком на питоне)


Ты что-то странное делаешь. Если тебе нужно чтобы модули были доступны для одного приложения то засунь их рядом с приложением.

Вообще какова задача?

true_admin ★★★★★
()
Ответ на: комментарий от provaton

Разобрался с вопросом. Есть параметр командной строки --install-purelib, позволяющий задавать каталог для установки модулей. Сразу не нашёл, потому что искал в разделе "Distributing Python Modules", не обратив внимания на раздел документации "Installing Python Modules". Увы, ступил. :(

SSN
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.