Import pakietu Pythona z katalogu nadrzędnego
Mam następującą strukturę kodu źródłowego
/testapp/
/testapp/__init__.py
/testapp/testmsg.py
/testapp/sub/
/testapp/sub/__init__.py
/testapp/sub/testprinter.py
gdzietestmsg
definiuje następującą stałą:
MSG = "Test message"
isub/testprinter.py
:
import testmsg
print("The message is: {0}".format(testmsg.MSG))
Ale dostajęImportError: No module named testmsg
Czy nie powinien działać, ponieważ struktura pakietu? Naprawdę nie chcę rozszerzać sys.path w każdym podmodule i nawet nie chcę używać względnego importu.
Co ja tu robię źle?