2010-05-26 7 views
2

Pour mon projet, je serais en utilisant la bibliothèque argparse. Ma question est, comment puis-je le distribuer avec mon projet. Je pose cette question à cause des détails techniques et légaux impliqués.une bibliothèque Python Distribution (un seul fichier)

Est-ce que je viens:

  1. Placez le fichier argparse.py avec mon projet. C'est, dans le fichier tar pour mon projet. Créer un package pour mon distro?
  2. Dites-le à l'utilisateur de l'installer lui-même?
+0

vérifiez d'abord la licence, non? – jldupont

+0

Apache License 2.0 Je n'ai aucune idée de ce que cette licence implique. – user225312

Répondre

1

Quelle est votre version Python cible? Il semble que argparse est inclus à partir de la version 2.7.

Si vous construisez une petite bibliothèque avec des dépendances minimales, je considère la suppression de la dépendance à l'égard d'un module externe et que les installations d'utilisation offertes par la bibliothèque standard de Python. Vous pouvez accéder aux paramètres de la ligne de commande avec sys.argv et les analyser vous-même, ce n'est généralement pas si difficile à faire. Vos utilisateurs apprécieront certainement de ne pas avoir à installer un autre module tiers juste pour utiliser votre code.

+0

En fait, argparse offre de nombreuses fonctionnalités qui faciliteraient mon travail. Serait-il vraiment important pour l'utilisateur final d'installer une bibliothèque simple? Étant nouveau au développement, je ne connais pas le sentiment. Mais au moins, cela ne me dérangerait pas. :) Je vais cibler Python 2.6. – user225312

+0

@Alfred: Pour ce que ça vaut, ça m'importe habituellement. La différence entre les dépendances * zéro * et * une * dépendance est assez importante. Pour mon propre code Python, j'essaie toujours de minimiser les dépendances dans la mesure du possible (une exception qui me vient à l'esprit est ['dnspython'] (http://www.dnspython.org/) pour [' pydkim'] (http: // hewgill.com/pydkim/)). –

+0

En dehors de cela, je pense que cela ajouterait quelque chose à la performance ou non? Je veux dire le dégrader? – user225312

1

Il serait préférable que l'utilisateur l'installe afin qu'une seule copie soit présente sur le système et qu'elle puisse être mise à jour s'il y a des problèmes, mais l'inclure avec votre projet est une option viable si vous respectez toutes les exigences spécifiées dans la licence.

Essayez de l'importer à partir du lieu public, et si cela ne fonctionne pas alors recours à l'utilisation du module inclus.

1

Vous pouvez aller avec la suggestion de Ignacio.

Mais ... Pour ce qu'il vaut, il y a une autre bibliothèque pour l'analyse de l'argument construit en Python, ce qui est assez puissant. Avez-vous essayé optparse? Il appartient à la distribution de base de Python et a été là pendant un certain temps ...

Bonne chance!

+0

+1 pour 'optparse'. – Santa

Questions connexes