无法将文件从应用程序导入到另一个应用程序

时间:2016-05-18 06:06:41

标签: python django importerror

我有一个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

但不起作用。

2 个答案:

答案 0 :(得分:1)

使用from main_project.libs.exceptions导入时,python期望main_project是包,libsexceptions是子模块。因此,这些目录中必须有一个名为__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