如何从外部模块加载python中的配置文件

时间:2017-05-17 18:39:45

标签: python

我有一个配置模块(myConfig.py)存在于库中,我使用setuptools创建了一个标准的分发包。

  --configPackage
    |
    | ---- myConfig.py
    | ---- __init__.py

myConfig.py是一个像这样的键值对:

MY_NAME = 'myname'
MY_AGE = '99'

现在我有另一个python项目,我可以像这样导入这个配置模块

import configPackage.myConfig as customConfig

如果这个配置文件是我的python项目的原生,并且不是来自外部项目,那么我会做这样的事情:

app = Flask(__name__) 
app.config.from_object('app.configPackage.config')

其中config实际上是configPackage下的config.py文件。

然后可以将

中的config.py中的任何键值对进行访问
 myName = app.config['MY_NAME']

我的问题是我无法以上述方式为本机配置文件加载外部配置文件。我试过的是这不起作用:

import configPackage.myConfig as customConfig

app = Flask(__name__) 
app.config.from_object(customConfig)
myName = app.config['MY_NAME']

我收到以下错误

model_name = app.config ['model_name'] KeyError:'model_name'

这意味着它无法正确加载外部模块的配置文件。谁能告诉我正确的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

试试这个,

__init__.py的configPackage中导入myConfig,如下所示

import configPackage.myConfig as myConfig

在您的其他应用中尝试

app.config.from_object('configPackage.myConfig')