我倾向于在“setup.py develop”模式下开发我的应用程序。当程序安装“setup.py”时,我希望配置自动切换到生产模式。
这可以通过糟糕的黑客来完成,比如检查安装目录是否包含“setup.py”,但我想知道 pkg_resources 是否可以以某种方式为我做到这一点。
os.environ['development_mode']
在您的开发机器上设置一个环境变量并测试(或您选择的设置)不是更容易,更清洁吗?
dist = pkg_resources.get_distribution('your-app')
if dist.precedence == pkg_resources.DEVELOP_DIST:
# package is in development mode
...
另一种选择是使用virtualenv。那么您的开发环境可能与您的生产环境相同。在我看来,Setuptools 是一个非常依赖的东西。