Mam pakiet nadrzędny, który ma 2 pakiety podrzędne. To wygląda takNie można importować modułów pakietów nadrzędnych w pakietach podrzędnych.
backend
__init__.py
conf.py
db.py
connections.py
/api
__init__.py
register.py
api.py
/scheduled
__init__.py
helpers.py
All the __init__.py files are empty.
Kod w backend/connections.py
i backend/conf.py
jest używany przez moduły w obu pakietach api
i scheduled
.
w register.py mam kod jak
from backend.conf import *
from backend.connections import *
Teraz kiedy robię python register.py
ja dostać ten błąd
ImportError: No module named backend.conf
Również kiedy zmienił from backend.conf import *
do from ..conf import *
lub from .. import conf
ja dostać ten błąd
ValueError: Attempted relative import in non-package
Rozumiem przez powyższy błąd, że Python nie traktuje powyższych folderów jako pakietów. Ale mam __init__.py
we wszystkich folderach. Co jest nie tak?
@MrE dlaczego 'connections' nie jest modułem? wszystkie pliki '__init __. py' są puste. – lovesh