Python 导入模块时遇到问题
我正在构建一个具有以下目录结构的 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 *
,但没有一个有效。如果有人有任何想法,我真的很感激听到他们的声音。
另外,如果这是一个重复的问题,我很抱歉,但我不确定要搜索什么。
I am building a web app with this directory structure:
app/
__init__.py
config/
__init__.py
db_config.py
models/
__init__.py
model.py
datasources/
__init__.py
database.py
...
...
Every __init__.py file has
__all__ = ['', '', ...]
in it, listing the .py files that are in the same directory as it. So, app/__init__.py is empty, app/config/__init__.py has
__all__ = ['db_config']
, etc. in app/models/datasources/database.py, I cannot seem to import anything from app/config/db_config.py. I have tried
import app.config.db_config
import config.db_config
from app.config.db_config import *
but none of them has worked. If anyone has any ideas I'd really appreciate hearing them.
Also, I apologize if this is a duplicate question, but I wasn't sure exactly what to search for.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
import app.config.db_config
是最好的方法(避免非绝对导入,并且永远不要使用 import *),为此,app
目录应该位于 <代码>sys.path。如果不是,请将目录添加到您的PYTHONPATH
或将项目移动到这种情况的某个位置。import app.config.db_config
is the best way (avoid non-absolute imports and never ever use import *), and for this to work theapp
directory should be insys.path
. If it is not, add the directory to youPYTHONPATH
or move the project to somewhere this is the case.