2009-10-06 3 views
0

У меня есть проект с открытым исходным кодом, содержащий как код Python, так и C. Мне интересно, для меня ли это использование для distutils, потому что я планирую сделать пакет ubuntu/debian. Код C не является тем, что я мог или хотел использовать в качестве расширения Python. C и Python взаимодействуют с TCP/IP через localhost.Причины использования distutils при упаковке проекта C/Python

Итак, нижняя строка здесь заключается в том, что, хотя я изучаю упаковку, использование конкретных файлов distutils только меня смущает, так как я не могу использовать свой C-код в качестве расширений Python? Или я должен разделить свои функции C и Python на отдельные проекты, чтобы лучше понять концепции упаковки?

ответ

1

distutils можно использовать для установки программ конечных пользователей, но это очень полезно при использовании его для библиотек Python, поскольку оно может создавать исходные пакеты, а также устанавливать их в нужном месте. Для этого я бы сказал, что это более или менее необходимо.

Но для программы Python для конечного пользователя вы также можете использовать make или что-то еще, что вам нравится, и использовать, поскольку вам не нужно устанавливать какой-либо код в каталог сайтов Python-сайтов, и вам не нужно поместите свой код в PyPI, и он не должен быть доступен из другого кода Python.

Я не думаю, что distutils не будет более или менее сложным в использовании программы конечного пользователя по сравнению с другими инструментами. Все такие инструменты для установки/упаковки являются hella-complex, как сказал бы Картман.

+1

* (Обратите внимание, что теперь я могу получить очень сердитые ответы от людей, вовлеченных в упаковку. Это нормально. Упаковка похожа на алхимию: темное искусство, сделанное одержимыми мужчинами, которые немного параноики и довольно сумасшедший от паров. Существует большая борьба между различными философиями упаковки, из которых по крайней мере один инструмент.) * –

1

Потому что он использует единую команду python setup.py install? distutils или setuptools? Как бы то ни было, просто используйте один из них.

Для разработки это также очень полезно, потому что вам не нужно заботиться о том, где найти такую-то зависимость. Пока это стандартный материал Python/basic system library, setup.py должен найти его для вас. С setup.py вам больше не нужны ./configure вещи или уродливые автоматы для создания огромных Makefile. Это просто работает (tm)

Смежные вопросы