Suppose I have:
src/ __init__.py a.py b.py
Suppose __init__.py is an empty file, and a.py is just one line:
TESTVALUE = 5
Assume b.py :
from src import a print(a.TESTVALUE)
Now, in both Python 2.7 and Python 3.x, running b.py gives the result ( 5 ).
However, if I delete the __init__.py file, b.py still works in Python 3.x, but in Python 2.7 I get an error:
Traceback (most recent call last): File "b.py", line 5, in <module> from src import a ImportError: No module named src
Why is Python 2.7 exhibiting different behavior in this situation?
source share