Supponiamo che io sono:Python 3 non ha bisogno di __init__.py in questa situazione?
src/
__init__.py
a.py
b.py
Supponiamo __init__.py
è un file vuoto, e a.py
è appena una linea:
TESTVALUE = 5
Supponiamo b.py
è:
from src import a
print(a.TESTVALUE)
Ora sia in Python 2.7 e Python 3.x, eseguendo b.py
fornisce il risultato (5
).
Tuttavia, se elimino il file __init__.py
, b.py
funziona ancora in Python 3.x, ma in Python 2.7, ottengo l'errore:
Traceback (most recent call last):
File "b.py", line 5, in <module>
from src import a
ImportError: No module named src
Perché Python 2.7 mostrano un comportamento diverso in questa situazione?