Trudno mi zrozumieć, w jaki sposób importowanie modułów działa w Pythonie (nigdy wcześniej nie robiłem tego w żadnym innym języku).Nie mogę zaimportować własnych modułów w Pythonie
Powiedzmy mam:
myapp/__init__.py
myapp/myapp/myapp.py
myapp/myapp/SomeObject.py
myapp/tests/TestCase.py
Teraz próbuję uzyskać coś takiego:
myapp.py
===================
from myapp import SomeObject
# stuff ...
TestCase.py
===================
from myapp import SomeObject
# some tests on SomeObject
Jednak jestem zdecydowanie robi coś złego, jak Python nie widzi, że myapp
jest modułem:
ImportError: No module named myapp
Próbowałem po prostu używając' import' w moim 'TestCase.py' ale nadal dał mi ten sam błąd. Zakładam, że jest tak, ponieważ znajduje się w podkatalogu '__init __. Py'? – n0pe
Och, czekaj, myślę, że to rozumiem. Jeśli moje przypadki testowe będą wywoływać z pakietu, będę mógł użyć polecenia 'from ... import ... ', prawda? – n0pe
Będziesz tylko wtedy, gdy TestCase jest importowany spoza pakietu - na przykład, jeśli uruchomię 'from myapp.tests import TestCase ze skryptu poza myappą. Jeśli używasz 'python TestCase.py' w folderze testów, nie możesz wykonać względnego importu –