Я изучаю Python 3 и не понимаю, как работает связь между каталогами в файловой системе и модулях при рефакторинге моего личного проекта.
В моем корневом каталоге есть
и я выполняю свои модульные тесты в
. \ Explicateimgnames \ explicateimgnames \ tests
Здесь я запускаю GIT Bash
$ python -m unittest *
И я получаю эту ошибку
======================================================================
ОШИБКА: Test_FactoryIMG (unittest.loader._FailedTest)
ImportError: Не удалось импортировать тестовый модуль: Test_FactoryIMG
Traceback (самая последняяпоследний вызов):
Файл "C: \ Users \ apuzielli \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ unittest \ loader.py", строка 434, в _find_test_path
module = self._get_module_from_name(name)
Файл "C: \ Users \ apuzielli \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ unittest \ loader.py", строка 375, в _get_module_from _имя
__import__(name)
Файл "D: \ workspacePython \ explicateimgnames \ explicateimgnames \ tests \ Test_FactoryIMG.py", строка 4, в
import explicateimgnames.explicateimgnames.src.typefiles.Image
ModuleNotFoundError: Нет модуля с именем 'explicateimgnames'
Исходный код
import unittest
import explicateimgnames.explicateimgnames.src.typefiles.Image
class Test_FactoryImage(unittest.TestCase):
Я пробовал другой путь:
- import explicateimgnames.src.typefiles.Image
- import src.typefiles.Image
Но у меня такая же ошибка
Ситуация с файловой системой моего проекта:
> explicateimgnames
> |-licence
> |-manifest
> |-readme
> |-setup.py
> |-explicateimgnames
> |-src
> | |-typefiles
> | | |-Image (contains class Image)
> |-test
> | |-Test_FactoryIMG
Изучая вопросы, я прочитал (например, здесь ), что мне нужно импортировать модуль __importlib__
, но это означает, что Python не имеет собственного механизмаимпорт класса.
Я рассуждаю в терминах Java, в чем моя ошибка в этом случае?
Спасибо