所以我有以下结构的目录:
> current_directory
> submodule
/__init__.py
/some_module.py
/main.py
在__init__.py
文件中,出现以下语句:
from some_module import some_funciton
虽然在main.py
整个submodule
导入了import submodule
。
现在,这在Python 2中执行得非常好,但问题是在Python 3中import
中的__init__.py
语句引发了ImportError
异常:`没有名为'some_module'的模块
在指定导入文件的层次结构时,Python 2和Python 3有什么区别?如何调整代码以使用Python 3?
答案 0 :(得分:2)
在python 3中,仅以from . import submodule
形式支持相对导入。
您应该重写import
语句,或者通过将项目目录添加到python路径来使导入绝对:
export PYTHONPATH=current_directory
python main.py