Причины использования distutils при упаковке проекта C/Python

StackOverflow https://stackoverflow.com/questions/1523874

  •  19-09-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top