herauszufinden, ob Python-Modul installiert ist, oder in der Entwicklung Modus programmatisch

StackOverflow https://stackoverflow.com/questions/631996

  •  08-07-2019
  •  | 
  •  

Frage

Ich neige dazu, meine apps in entwickeln -Mode 'setup.py entwickeln'. Ich würde die Konfiguration will automatisch auf Produktionsmodus zu wechseln, wenn das Programm wird ‚setup.py install'ed.

Dies kann durch schlechte Hacks durchgeführt werden, wie geprüft wird, ob Installationsverzeichnis enthält ‚setup.py‘, aber ich frage mich, ob pkg_resources kann das irgendwie für mich tun.

War es hilfreich?

Lösung

Tatsächlich pkg_resources wird diese tun:

dist = pkg_resources.get_distribution('your-app')
if dist.precedence == pkg_resources.DEVELOP_DIST:
    # package is in development mode
    ...

Andere Tipps

Ist es nicht einfacher und saubere, nur um eine Umgebungsvariable auf Ihrer Entwicklungsmaschine gesetzt und Test für os.environ['development_mode'] (oder eine Einstellung Ihrer Wahl)?

Eine weitere Möglichkeit ist die Verwendung virtualenv . Dann könnte die Entwicklungsumgebung in der Produktionsumgebung identisch sein. Setuptools ist ein ziemlich schweres Ding auf abhängen, meiner Meinung nach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top