Python Django无法导入子目录中的文件
我几乎可以肯定,我遗漏了一些明显的东西,但进口商品困扰了我一段时间 我在一个更大的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 \报告\ \
\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
查看要导入的内容以及导入顺序。它会告诉您是否有循环导入。完整的回溯通常非常重要。。