Мне сложно понять, как работает импорт модулей в Python (до этого я никогда не делал этого на любом другом языке).Невозможно импортировать мои собственные модули в Python
Скажем, у меня есть:
myapp/__init__.py
myapp/myapp/myapp.py
myapp/myapp/SomeObject.py
myapp/tests/TestCase.py
Теперь я пытаюсь получить что-то вроде этого:
myapp.py
===================
from myapp import SomeObject
# stuff ...
TestCase.py
===================
from myapp import SomeObject
# some tests on SomeObject
Однако, я определенно делает что-то неправильно, как Python не может видеть, что myapp
представляет собой модуль:
ImportError: No module named myapp
Я пробовал просто использовать 'import' в моей' TestCase.py', но он все равно дал мне та же ошибка. Я предполагаю, что это потому, что он находится в подкаталоге '__init __. Py'? – n0pe
Ой, думаю, я понял. Если мои тестовые примеры вызывают из пакета, я смогу использовать 'from ... import ...' правильно? – n0pe
Вы будете только в том случае, если TestCase импортируется извне пакета, например, если я запускаю 'из myapp.tests import TestCase из скрипта вне myapp. Если вы используете 'python TestCase.py' в папке с тестами, вы не можете делать относительный импорт –