2010-08-12 6 views
9

Was ist der richtige Weg (oder ich begnüge mich mit einem gut Weg), um eine Befehlszeile Python-Anwendung von mittlerer Komplexität zu legen? Ich habe ein Python-Projekt Skelett mit Paster erstellt, die mir ein paar Dateien gab, mit zu beginnen:Was ist das beste Layout für eine Python-Befehlszeilenanwendung?

myproj/__init__.py 
MyProj.egg-info/ 
dependency_links.txt 
entry_points.txt 
PKG-INFO 
SOURCES.txt 
top_level.txt 
zip-safe 
setup.cfg 
setup.py 

ich wissen will, vor allem, wo mein Programm Einstiegspunkt gehen sollte, und wie kann ich es installiert werden auf dem Pfad? Erzeugt Setuptools es für mich? Ich versuche das im HHGTP zu finden, aber vielleicht verpass ich es nur.

Antwort

7

Sie müssen nicht alles erstellen, das Verzeichnis .egg-info wird von setuptools generiert. Sie erwähnen die Befehlszeile, also nahm ich an, Sie hätten irgendwo ein Script auf der obersten Ebene, sagen wir myproj-bin. Dann würde diese Arbeit:

./setup.py 
./myproj 
./myproj/__init__.py 
./scripts 
./scripts/myproj-bin 

Und dann so etwas wie diese in setup.py:

#! /usr/bin/python 

from setuptools import setup 

setup(name="myproj", 
     description='shows how to create a python package', 
     version='123', 
     packages=['myproj'], # python package names here 
     scripts=['scripts/myproj-bin'], # scripts here 
    ) 

Es gibt viel mehr, dass Sie tun können, wenn Ihr Projekt komplex ist, die volle manuelle von Setuptool ist hier: http://peak.telecommunity.com/DevCenter/setuptools.

Verwandte Themen