我创建了一个小脚本来比较两个图像的相似程度。它包含在名为compare_image.py
的文件中,该文件仅包含一个函数compare
。该文件位于应用程序目录中。我正在尝试使用行models.py
从import compare_image
文件导入它,但是尝试执行此操作会导致错误消息ModuleNotFoundError: No module named 'compare_image'
。
简化的目录结构如下:
myproject
└── myapp
├── __init__.py
├── admin.py
├── apps.py
├── compare_image.py
├── forms.py
├── models.py
├── tests.py
├── urls.py
└── views.py
myapp
是项目中唯一的应用程序。除此之外,webapp的功能还不错。
我尝试删除touch
文件并重新__init__.py
无济于事。我可以从compare_image
目录中的python shell导入myapp
。 compare_image.py
中唯一的导入是PIL或标准库,因此我不认为循环导入是罪魁祸首。
一种解决方案是将代码放入models.py
中,但我不想使这个文件混乱。
我认为,由于此错误似乎很基本,因此在Django中可能存在一些用于用户编写脚本的标准机制,但我在网上找不到任何提及。
如果可以使事情变得更清楚,我很乐意提供有关该项目的更多详细信息。预先感谢您的帮助(此错误使我疯狂!)
答案 0 :(得分:0)
我认为您在需要相对导入的地方进行了绝对导入。你可以尝试:
from .compare_image import compare
来自与compare_image.py
相同文件夹中的python文件?