Frage

Ich bin Verpackung ein Python-Modul, und ich mag Benutzer in der Lage sein, das Modul mit einigen benutzerdefinierten Optionen zu bauen. Insbesondere wird tut das Paket etwas mehr Magie, wenn Sie es mit bestimmten ausführbaren Dateien, die sie verwenden können.

Idealerweise Benutzer würden setup.py install oder setup.py install --magic-doer=/path/to/executable laufen. Wenn sie die zweite Option, ich eine Variable irgendwo im Code festgelegt hatte, und gehen von dort aus.

Ist das möglich mit Python setuptools? Wenn ja, wie mache ich das?

War es hilfreich?

Lösung

Es scheint, Sie können ... Lesen Sie diese .

Auszug aus dem Artikel:

  

Befehle sind einfache Klasse, die von setuptools.Command ableitet, und mindestens einige Elemente definieren, die da sind:

description: describe the command
user_options: a list of options
initialize_options(): called at startup
finalize_options(): called at the end
run(): called to run the command
  

Die Setuptools doc ist immer noch leer über Subklassen Befehl, sondern eine minimale Klasse wird wie folgt aussehen:

 class MyCommand(Command):
     """setuptools Command"""
     description = "run my command"
     user_options = tuple()
     def initialize_options(self):
         """init options"""
         pass

     def finalize_options(self):
         """finalize options"""
         pass

     def run(self):
         """runner"""
         XXX DO THE JOB HERE
  

Die Klasse kann dann Haken als ein Befehl sein, einen Einstiegspunkt in seiner setup.py-Datei:

 setup(
     # ...
     entry_points = {
     "distutils.commands": [
     "my_command = mypackage.some_module:MyCommand"]}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top