Абсолютный импорт Python в модуле завершился неудачно

У меня есть проект, который выглядит так:

my_project/
          __init__.py -- empty
          run.py
          datacheck/
                  __init__.py -- empty
                  datacheck.py -- containing class DataCheck(object)
                  config.py -- containing BusinessConfig(object)
                  business.py -- containing class BusinessCheck(DataCheck)

Мой PYTHONPATH настроен так, чтобы в нем был / my_project.

В run.py у меня есть следующий код:

from datacheck.business import BusinessCheck
business = BusinessCheck()
business.check_data()

В business.py у меня есть следующие ошибки импорта:

from datacheck.config import BusinessConfig
from datacheck.datacheck import DataCheck

Относительный импорт, например из .config import BusinessConfig работает - однако я читал во многих темах, что предпочтительнее абсолютный импорт.

Чтобы выполнить простой тест, я также создал следующее:

myproject/
          __init__.py -- empty
          run_test.py
          test/
              __init__.py -- empty
              test1.py -- containing class Test1(object)
              test2.py -- containing class Test2(Test1)

run_test.py импортирует и запускает класс Test2 , это не сработало.

Это меня немного ошеломило, я не понимаю, почему мой абсолютный импорт в datacheck не работает - кто-нибудь может объяснить?

5
задан rypel 4 June 2013 в 08:21
поделиться