Python导入模块有问题

时间:2010-02-17 18:34:15

标签: python filesystems module

我正在使用此目录结构构建一个Web应用程序:

app/
    __init__.py
    config/
        __init__.py
        db_config.py
    models/
        __init__.py
        model.py
        datasources/
            __init__.py
            database.py
    ...
    ...

每个__init__.py文件都有

__all__ = ['', '', ...]

中,列出与其位于同一目录中的.py文件。因此,app / __ init__.py为空,app / config / __ init__.py有

__all__ = ['db_config']
app / models / datasources / database.py中的

等等,我似乎无法从app / config / db_config.py导入任何东西。我试过了

import app.config.db_config
import config.db_config
from app.config.db_config import *

但他们都没有奏效。如果有人有任何想法,我真的很感激听到他们。

另外,如果这是一个重复的问题,我道歉,但我不确定要搜索什么。

1 个答案:

答案 0 :(得分:2)

import app.config.db_config是最好的方法(避免非绝对导入,永远不会使用import *),为此,app目录应该在sys.path中。如果不是,请将目录添加到PYTHONPATH或将项目移动到某个地方。