我已将使用python3处理过的项目复制到只有python2的工作站。 Python现在抱怨我的一个导入。
该行是
from .mage.models import ButtLoadOfClasses
错误却说
ImportError: No module named mage.models
我的项目树看起来像这样:
nwod-db-master/
characters
mage
models.py
admin.py
导入位于admin.py。
所以我认为它会切断点,然后将其视为绝对导入 - mage.models不在我的路径上,所以它是barfs。
我已经搜索了这个,我能找到的最相关的东西是What's wrong with relative imports in Python?,这更多是关于编码风格,并没有引导我找到解决方案 - 除了它引导我相信相对进口只是python3的事情。我也看到了这个:Python/Django is importing the wrong module (relative when it should be absolute)但是这是模板标签。我还没有在接受的答案中诉诸于hackery,因为我希望事情在过去的4年里继续发展。
如何强制python将其导入为包的绝对引用?
答案 0 :(得分:2)
好像你没有在mage /中包含__init__.py
文件,所以它不会被识别为包。
只需在mage /
下添加__init__.py
文件即可
nwod-db-master/
characters/
mage/
__init__.py
models.py
admin.py