La manière dont une ligne de commande du script Python
J'ai créé un script en python qui est destiné à être utilisé à partir de la ligne de commande. Comment dois-je aller sur l'emballage il? C'est mon premier paquet python et j'ai lu un peu sur setuptools, mais je ne suis toujours pas sûr de la meilleure façon de le faire.
Solution
J'ai fini par utiliser setup.py avec les configurations de touches indiquées ci-dessous:
setup(
....
entry_points="""
[console_scripts]
mycommand = mypackage.mymodule:main
""",
....
)
Voici un bon exemple dans le contexte.
- La plate-forme(s) allez-vous déployer sur?
- Idéalement, unix ou windows.
Vous devez vous connecter pour publier un commentaire.
@Zach, compte tenu de vos éclaircissements dans votre commentaire @soulmerge réponse, il ressemble à ce que vous avez besoin est d'écrire un setup.py selon les instructions concernant la distutils -- ici en particulier est de savoir comment vous vous inscrivez sur pypi, et ici sur comment faire pour télécharger sur pypi une fois que vous êtes enregistré, et peut-être (si vous avez besoin de quelques fonctionnalités supplémentaires wrt ce que le distutils d'approvisionnement sur leur propre) ajouter setuptools, dont
easy_install
est de la partie, via les instructions ici.Plutôt que d'utiliser setuptools non standard manière de procéder, il est possible d'invoquer directement sur
distutils
configuration de la fonction à l'aide de lascripts
argument, comme indiqué ici: http://docs.python.org/distutils/setupscript.html#installing-scriptsIl vous permet de rester compatible) avec toutes les versions de python et b) de ne pas avoir à compter sur une setuptools comme une dépendance externe.
Qu'entendez-vous par l'emballage? Si c'est un simple script à exécuter sur une zone qui a déjà installé python, vous avez juste besoin de mettre un shebang dans la première ligne du fichier et c'est tout.
Si vous voulez qu'elle soit exécutée sous Windows ou sur une zone sans python, cependant, vous aurez besoin de quelque chose d'extérieur, comme pyinstaller.
Si votre question est de savoir où mettre de configuration/fichiers de données, vous aurez besoin de plate-forme de travail-dépendante (comme écrit dans le registre ou la dossier d'accueil), pour autant que je sais.
Le mois dernier, j'ai écrit un article répondant exactement à votre question. Vous pouvez le trouver ici: http://gehrcke.de/2014/02/distributing-a-python-command-line-application/
Là, je suis en utilisant seulement actuellement des méthodes recommandées (de la ficelle, de la pure setuptools au lieu de distutils, le
console_scripts
clé dans laentry_points
dictionnaire, ...), qui travaillent pour Python 2 et 3.Pour ceux qui sont débutants en Python Emballage, je suggère d'aller à travers ce Python Emballage Tutoriel.
Remarque sur le tutoriel: