以编程方式确定python模块是已安装还是处于开发模式
我倾向于在“setup.py develop”模式下开发我的应用程序。我想配置自动切换到生产模式时,程序得到'setup.py安装'ed以编程方式确定python模块是已安装还是处于开发模式,python,packaging,Python,Packaging,我倾向于在“setup.py develop”模式下开发我的应用程序。我想配置自动切换到生产模式时,程序得到'setup.py安装'ed 拙劣的黑客可以做到这一点,比如检查安装目录是否包含“setup.py”,但我想知道pkg_资源是否能帮我做到这一点。在开发机器上设置一个环境变量,然后测试os.environ['development_mode'](或您选择的设置)在您的开发机器上设置一个环境变量,并测试os.environ['development\u mode'](或您选择的设置)确实是这
拙劣的黑客可以做到这一点,比如检查安装目录是否包含“setup.py”,但我想知道pkg_资源是否能帮我做到这一点。在开发机器上设置一个环境变量,然后测试
os.environ['development_mode']
(或您选择的设置)在您的开发机器上设置一个环境变量,并测试os.environ['development\u mode']
(或您选择的设置)确实是这样:
的确如此:
另一个选项是使用。这样,您的开发环境就可以与生产环境完全相同。在我看来,Setuptools是一个非常重要的依赖对象。另一个选项是使用。这样,您的开发环境就可以与生产环境完全相同。实际上,Setuptools是一个非常重要的依赖对象我的意见。也许吧。虽然通过pkg_资源获取这些信息似乎并不难。不,但基于安装方式的行为通常是个坏主意。如果你想调试一段只在开发模式之外运行的特定代码,你必须编辑代码或重新安装包nEnvironment设置,您只需设置变量。也许。虽然通过pkg_resources获取此信息似乎不难。不,但基于安装方式的行为通常仍然是一个坏主意。如果您想调试仅在开发模式之外运行的特定代码,您必须编辑代码或rei使用环境设置,您只需设置变量。
dist = pkg_resources.get_distribution('your-app')
if dist.precedence == pkg_resources.DEVELOP_DIST:
# package is in development mode
...