:この場合、Python 3では__init__.pyは必要ありませんか?私が持っていると仮定し
src/
__init__.py
a.py
b.py
と仮定__init__.py
は空のファイルで、a.py
はただ1行です:
TESTVALUE = 5
と仮定b.py
です:
from src import a
print(a.TESTVALUE)
Python 3.xでb.py
を実行すると結果(5
)が得られます。
しかし、b.py
、私はファイル__init__.py
を削除した場合は、まだPythonの3.xの中で動作しますが、Pythonの2.7で、私はエラーを取得:
Traceback (most recent call last):
File "b.py", line 5, in <module>
from src import a
ImportError: No module named src
はなぜPythonの2.7は、このような状況では異なる挙動を示すのか?