2016-11-27 3 views
1

Wenn ich setup.py ausführe, möchte ich dem Aufruf normalerweise verschiedene Befehlszeilenoptionen hinzufügen, je nachdem, welche Art von Verteilung ich erstelle.Befehlszeilenoptionen automatisch zu setup.py hinzufügen, basierend auf dem Ziel

Zum Beispiel möchte ich --user-access-control force hinzufügen, wenn ich ein Windows-Installer (bdist_wininst) erstellen. Ein anderes Beispiel wäre das Auslassen des Aufrufs eines Nachinstallations-Skripts beim Erstellen einer Quellverteilung.

Meine aktuelle Lösung wäre, kleine .bat und .sh Skripte mit dem gewünschten Aufruf von setup.py zu erstellen, aber das fühlt sich irgendwie falsch an. Gibt es einen besseren Weg, um zu tun, was ich will, oder versagen meine Instinkte?

Bearbeiten: Der richtige Weg gefunden. Siehe meine Antwort unten.

Antwort

0

stellte sich heraus, die „richtige“ Art und Weise war es recht einfach zu tun, und ich kann es nur knapp verfehlt, wenn sie in der Dokumentation suchen:

Verwenden Sie setup.cfg. Es ist eine Standard-Konfigurationsdatei, in der Sie für jedes Build-Ziel/Verteilungsart (sdist, bdist_wheel, bdist_wininst, usw.) einen Abschnitt definieren können, der die Befehlszeilenoptionen enthält, die Sie setup.py geben möchten es bauen.

1

Eine Möglichkeit ist es, das Betriebssystem in der setup.py zu erkennen:

import os 
print(os.name) 

if os.name == 'posix': 
    ... 
+1

Wie löst das mein Problem? Ich möchte keine anderen Aktionen basierend auf dem Betriebssystem ausführen, sondern setup.py verschiedene Optionen geben, je nachdem, welche Art von Distribution ich erstelle. – snejjj

Verwandte Themen