déterminer si le module python est installé ou en mode développement par programmation

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

  •  08-07-2019
  •  | 
  •  

Question

J'ai tendance à développer mes applications en mode "setup.py develop". Je souhaiterais que la configuration passe automatiquement en mode de production lorsque le programme sera installé.py sera installé.

Cela peut être fait par des méthodes simples, comme vérifier si le répertoire d'installation contient 'setup.py', mais je me demande si pkg_resources peut le faire pour moi d'une manière ou d'une autre.

Était-ce utile?

La solution

En effet, pkg_resources le fera :

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

Autres conseils

N'est-il pas plus simple et plus propre de définir une variable d'environnement sur votre machine de développement et de tester os.environ ['mode_développement'] (ou un paramètre de votre choix)?

Une autre option consiste à utiliser virtualenv . Votre environnement de développement pourrait alors être identique à votre environnement de production. Setuptools est une chose assez lourde sur laquelle compter, à mon avis.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top