Странная относительная ошибка разрешения импорта в python 3.2.3
Я вызываю следующую ошибку разрешения импорта в моей программе:
I am: homie.translators.is24.rest.translator
Traceback (most recent call last):
File "/usr/local/sbin/is24rest", line 3, in <module>
from homie.interfaces.is24.rest import __main__
File "/usr/local/lib/python3.2/dist-packages/homie/interfaces/is24/rest/__init__.py", line 8, in <module>
from .exporter import Exporter
File "/usr/local/lib/python3.2/dist-packages/homie/interfaces/is24/rest/exporter.py", line 12, in <module>
from homie.translators.is24.rest.translator import Translator
File "/usr/local/lib/python3.2/dist-packages/homie/translators/is24/rest/translator.py", line 9, in <module>
from .factories.rest.restFactory import RestFactory
ImportError: No module named factories.rest.restFactory
Содержание /usr/local/lib/python3.2/dist-packages/homie/translators/is24/rest/translator.py
является
"""
Created on 18.06.2014
@author: Richard Neumann
"""
print('I am: ' + str(__name__))
from homie.translators.abc import Translator as T
from .factories.rest.restFactory import RestFactory
from .factories.openimmo.openimmoFactory import OpenImmoFactory
class Translator(T):
<snip>
Также существует соответствующий модуль:
root@srv:/usr/src/is24-translator# ls /usr/local/lib/python3.2/dist-packages/homie/translators/is24/rest/factories/rest/
abc.py attachments __init__.py __pycache__ realestates restFactory.py
Почему python3 пытается сделать абсолютный импорт здесь? Я сталкиваюсь с этой проблемой только под Debian 7 с python 3.2.3. Под Arch w/ python 3.4.1 он работает просто отлично.
Я что-то пропустил?
1 ответ
Решение
В файле отсутствует __init__.py .factories
, что вызвало эту ошибку. Мне понадобилось время, чтобы понять это.