2009-10-06 5 views
0

J'ai un projet open source contenant à la fois du code Python et C. Je me demande s'il y a une utilité pour distutils pour moi, parce que je prévois de faire un paquetage ubuntu/debian. Le code C n'est pas quelque chose que je pourrais ou voudrai utiliser comme extension Python. Les programmes C et Python communiquent avec TCP/IP via localhost. Donc, en fin de compte, lorsque j'apprends le packaging, est-ce que l'utilisation de fichiers spécifiques à distutils me rend plus confus, puisque je ne peux pas utiliser mon C-code comme extension Python? Ou devrais-je diviser mes fonctionnalités C et Python en projets distincts pour mieux comprendre les concepts d'emballage?raisons d'utiliser distutils lors de l'emballage C/projet Python

Répondre

1

distutils peuvent être utilisés pour installer des programmes utilisateur final, mais il est plus utile lorsque vous l'utilisez pour les bibliothèques Python, car il peut créer des paquets sources et aussi les installer au bon endroit. Pour cela, je dirais que c'est plus ou moins nécessaire. Mais pour un programme Python d'utilisateur final, vous pouvez également utiliser make ou tout ce que vous aimez et auquel vous êtes habitué, car vous n'avez pas besoin d'installer de code dans le répertoire Python site-packages, et vous n'avez pas besoin de mettez votre code sur PyPI et il n'a pas besoin d'être accessible depuis un autre code Python.

Je ne pense pas distutils sera ni plus ni moins compliqué à utiliser dans l'installation d'un programme utilisateur final par rapport à d'autres outils. Tous ces outils d'installation/emballage sont complexes, comme l'aurait dit Cartman.

+1

* (Notez que je peux maintenant obtenir des réponses très fâchées de la part des personnes impliquées dans l'emballage.C'est normal.L'emballage est comme l'alchimie: Un art sombre fait par des hommes obsédés qui est allé légèrement paranoïaque et assez Il y a beaucoup de luttes intestines entre différentes philosophies d'emballage, dont il y en a au moins une par outil.) * –

1

Parce qu'il utilise une commande python setup.py install unifiée? distutils, ou setuptools? Peu importe, il suffit d'utiliser l'un de ceux-là.

Pour le développement, il est aussi très utile parce que vous n'avez pas se soucier où trouver telle ou telle dépendance. Tant qu'il est stuff bibliothèque standard Python/système de base, setup.py pour vous devriez trouver. Avec setup.py, vous n'avez plus besoin de choses ./configure ou autotools moche pour créer d'énormes Makefiles. Ça fonctionne juste (tm)

Questions connexes