弄清楚是否已安装python模块或以编程方式处于开发模式

时间:2009-03-10 19:52:42

标签: python packaging

我倾向于在'setup.py develop'-mode中开发我的应用程序。当程序获得'setup.py install'时,我希望配置在生产模式下自动切换。

这可以通过糟糕的黑客来完成,比如检查安装目录是否包含'setup.py',但是我想知道pkg_resources是否能够以某种方式为我做这件事。

3 个答案:

答案 0 :(得分:5)

在开发机器上设置环境变量并测试os.environ['development_mode'](或您选择的设置)是不是更容易,更简洁?

答案 1 :(得分:4)

确实,pkg_resources will do that

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

答案 2 :(得分:0)

另一种选择是使用virtualenv。然后,您的开发环境可能与您的生产环境相同。在我看来,Setuptools是一个非常重要的东西。