Пытаясь разобраться в этой проблеме, я столкнулся со следующей проблемой.
У меня есть скрипт Python, который устанавливается на /usr/lib/
. Но мне нужно вставить этот скрипт в систему сборки, чтобы он мог работать с моим пакетом.
Любая помощь будет принята с благодарностью. Хотя я немного работал с Makefiles при написании приложений на C ++, я никогда не создавал Makefile для файлов Python (и даже не знаю, с чего начать).
Как мне настроить систему сборки для моего приложения?
Scons - это система сборки, которая использует Python в качестве языка (я обычно предпочитаю его над make-файлами для любого проекта), я думаю, что она должна быть способна делать то, что вы хотите.
У него очень хорошее Руководство пользователя .
Ну, как я объяснил по другому вопросу, вам не нужна система сборки, и в этом конкретном случае может быть лучше без нее.
Тем не менее, наиболее стандартным является distutils . Просто предоставьте метаданные (то есть имя, описание и т. Д.) И список (python) пакетов, модулей и скриптов (все они необязательны), и все готово.
Наконец, если вы хотите сгенерировать пакет debian из вашего проекта, то вы можете очень легко сделать это, используя python-stdeb
(использует dh7
, что мне нравится больше) или python-mkdebian
(использует [ 113]). Между этими инструментами есть еще много различий, но я позволю вам открыть их самостоятельно. Просто отметьте, что оба требуют использования distutils. (python-mkdebian
является частью пакета python-distutils-extra
в Ubuntu, я не использовал -extra
много, но вы также можете попробовать это, если хотите)
Обязательно ознакомьтесь:
http://pypi.python.org/pypi/modern-package-template/1.0 Для правильной компоновки пакета по умолчанию, включая начальную настройку .py file
http://pypi.python.org/pypi/virtualenv Для блокировки вашей среды разработки от остальной части вашей системы. Выполнение чего-то вроде
python setup.py develop
встроит / настроит вашу команду в вашу virtualenv, чтобы вы могли протестировать ее.
Уманг имеет правильный ответ, хотя, возможно, не так подробно, как вам может показаться новичком.
Для программы на Python вам нужно начать с создания файла setup.py
. Основной частью файла будет обращение к distutils.core.setup
- это подробно обсуждается в , часть 2 документации distutils .
Все другие системы упаковки для Python (такие как py2exe, setuptools или Distribute) основываются на пакете distutils
, обычно путем расширения setup()
некоторым образом (с дополнительными параметрами или командами).
Перед преобразованием этого в пакет Ubuntu вы можете протестировать скрипт установки, запустив sudo setup.py install
. Это должно установить файлы в их ожидаемые местоположения; если это не так, вам может понадобиться проверить свою конфигурацию. В частности, разделы 2.5 (сценарии) и 2.6 (данные пакета) документации distutils
, вероятно, применимы к вашей ситуации.
Как только это будет сделано, вы можете взглянуть на слои на Ubuntu-упаковке согласно Ubuntu Packaging Guide для Python . Инструменты python-stdeb
и python-mkdebian
, предложенные Umang, упрощают генерацию различных файлов, необходимых для упаковки Ubuntu.