Python Django无法导入子目录中的文件

Python Django无法导入子目录中的文件,python,django,python-import,Python,Django,Python Import,我几乎可以肯定,我遗漏了一些明显的东西,但进口商品困扰了我一段时间 我在一个更大的Django项目中有以下应用程序结构: \reporting\ \reporting\__init__.py \reporting\<all other default django files> \reporting\utils\__init__.py \reporting\utils\base_file.py \reporting\utils\appname_reporting.py \报告\ \

我几乎可以肯定,我遗漏了一些明显的东西,但进口商品困扰了我一段时间

我在一个更大的Django项目中有以下应用程序结构:

\reporting\
\reporting\__init__.py
\reporting\<all other default django files>
\reporting\utils\__init__.py
\reporting\utils\base_file.py
\reporting\utils\appname_reporting.py
\报告\
\报告\\uu初始化\\uuu.py
\报告\
\报告\utils\\uuuu init\uuuuuu.py
\报告\utils\base\u file.py
\报告\utils\appname\u reporting.py
我正在尝试将
appname\u reporting
导入我的
\reporting\views.py

我尝试了导入utils.appname\u报告,
从utils导入appname\u报告
,以及
从.utils导入appname\u报告
。他们都给了我一个错误:
导入错误:没有名为“appname\u reporting”的模块。

没有其他文件导入
appname\u reporting.py
。和
appname\u reporting.py
导入
base\u file.py

更新


我在
views.py
中得到了要导入的
appname\u报告
,但是现在我在
appname\u报告
中有一个中断的导入,说它不能导入
基本文件
。在那里,我只需要导入基本的文件,它在我的测试中失败了。我还尝试了导入.base\u文件,但失败了。

您需要在
PYTHONPATH
环境变量中包含
/reporting
。检查它是否包含在的输出中

import sys
for p in sys.path: 
    print p
之后,您可以使用相对导入:

appname_reporting.py:
from . import base_file

views.py
from .utils import appname_reporting
但是,请注意循环导入(例如,如果您正在导入
\uuuu init\uuuuuuu.py
文件中的某些内容)

可以使用verbose开关运行Python:

python -v views.py

查看要导入的内容以及导入顺序。它会告诉您是否有循环导入。

完整的回溯通常非常重要。。