Python 导入模块时遇到问题
我正在构建一个网页应用,目录结构如下:
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 个回答
2
使用import app.config.db_config
是最好的方法(要避免使用非绝对导入,也不要使用import *),为了让这个方法有效,app
目录需要在sys.path
中。如果没有在里面,可以把这个目录添加到你的PYTHONPATH
中,或者把项目移动到一个可以满足这个条件的地方。