我有一个django项目,其结构如下:
main_project
---- main_project
< ------库
<< --------- exceptions.py
---- project_a
---- project_b
在 project_a 的views.py中,我尝试导入 main_project 的名为 libs 的文件夹和 libs中的文件名为 exceptions.py ,但我收到错误
appDelegate.m
我的代码是:
self.window.windowLevel = 1.2;
有人可以告诉我这里缺少什么吗? 参考https://stackoverflow.com/a/31407131/5080347回答,我甚至尝试过:
ImportError: No module named libs.exceptions
但不起作用。
答案 0 :(得分:1)
使用from main_project.libs.exceptions
导入时,python期望main_project
是包,libs
和exceptions
是子模块。因此,这些目录中必须有一个名为__init__.py
的文件。需要 init .py文件才能使Python将目录视为包含包。如需进一步阅读,请参阅here。
答案 1 :(得分:1)
您似乎忘了将__init__.py
添加到libs
目录。
__init__.py
用于初始化Python包。检查documentation以更好地了解事情是如何运作的。
您的结构应如下所示:
project/
|
|-- __init__.py
|
|-- module_a/
| |-- __init__.py
| |
| |-- file1.py
| |
| |-- file2.py
|
|-- module_b/
| |
| |-- __init__.py
| |
| |-- file1.py
| |
| |-- submodule/
| | |--__init__.py
| | |
| | |-- file1.py