Par exemple, que se passe-t-il si PIL
, python-rsvg
et libev3
sont des dépendances du programme? Ces dépendances ne sont pas dans l'index pypi, les deux derniers sont des noms de paquets Debian.Comment écrire un fichier setup.py pour un programme dépendant de packages en dehors de pypi
Répondre
Ne les placez pas dans vos dépendances et documentez-les dans votre INSTALL ou README.
Si vous empaquetez quelque chose à installer sur Debian (comme implicite), le meilleur moyen de gérer les dépendances est de compresser votre programme en .deb et d'exprimer les dépendances de manière Debian. (Remarque: PIL est disponible dans Debian sous la forme python-imaging
.)
Comme le fichier setup.py est également un code Python, vous pouvez simplement télécharger et exécuter le fichier setup.py sur ces paquets.
Vous pouvez utiliser setuptools. setuptools vous permet d'ajouter n'importe quel type de Python installable (tout paquetage distutils/setuptools activé) en tant que dépendance, que ce soit sur PyPI ou non.
Par exemple, dépendre de PIL 1.1.6, utilisez quelque chose comme:
setup(...,
install_requires = ["http://effbot.org/downloads/Imaging-1.1.6.tar.gz"],
...)
Voir setuptools docs pour plus d'informations.
J'ai signalé ce problème ici:
http://mail.python.org/pipermail/python-list/2009-September/727045.html
ceci devrait être ajouté comme commentaire, pas comme réponse. – jldupont
- 1. Plusieurs projets d'un fichier setup.py?
- 2. Comment écrire dans un fichier texte en dehors de la racine du document dans Rails?
- 3. Comment compiler un fichier C# en dehors de App_Code?
- 4. ORACLE - Exportation de procédures/packages vers un fichier
- 5. Comment écrire plusieurs zones de texte dans un fichier txt généré en programme en C#?
- 6. comment écrire dans un fichier texte par programme C
- 7. Comment écrire un convertisseur pour changer un fichier PHP en un fichier Bash?
- 8. Comment écrire un programme C++ de téléchargement MultiPart
- 9. Écrire un fichier GIF en Java
- 10. Comment écrire un programme pendant la compilation?
- 11. Comment faire pour inclure un fichier en dehors de l'application (guerre) en utilisant jsp include
- 12. Programme pour corrompre un fichier?
- 13. Comment empêcher un service .NET de se déconnecter en attendant un service dépendant
- 14. Comment convertir un fichier en IFile en Java, pour des fichiers en dehors du projet?
- 15. Comment écrire un sous-programme pour les insertions DBI avec un nombre variable de valeurs?
- 16. Comment écrire un gestionnaire de format de fichier
- 17. Comment lire un fichier et écrire dans un fichier texte?
- 18. Comment transformer un programme python en un fichier .egg?
- 19. Comment ouvrir un fichier de base de données SQL Server local en dehors de Visual Studio?
- 20. comment écrire un fichier batch pour formater Excel?
- 21. IOException pour un lecteur plein ou en dehors de l'espace
- 22. Newby question: comment écrire un programme/script pour copier automatiquement des répertoires sur un ordinateur distant?
- 23. écrire un BitSet dans un fichier en Java
- 24. Comment écrire des bits dans un fichier?
- 25. Comment écrire des données de bitset dans un fichier?
- 26. VBScript pour écrire une macro dans un fichier Excel
- 27. Écrire un QNetworkReply à un fichier
- 28. py2exe setup.py avec des icônes
- 29. Comment puis-je écrire un programme d'installation pour le serveur terminal
- 30. Comment écrire un caractère newline natif dans un descripteur de fichier en Python?
Comment est PIL à son tour va faire face aux dépendances qui ne sont pas des paquets de python? – btw0
setuptools ne va exécuter que "setup.py install" comme d'habitude, toute gestion des dépendances est conforme au processus par défaut de Imaging, donc, si Imaging le fait correctement, comme il se doit, vous obtenez PIL correctement installé. En dehors de cela, vous avez peu de bons choix: 1) informer votre utilisateur quels paquets "natifs" il doit installer en utilisant le processus par défaut de distribution, 2) créer un paquet natif de distribution et configurer les dépendances (la partie laide est là il y a beaucoup de distributions là-bas). –