我有以下文件结构:
我尝试初始化main.py
中属于Listener
,Parser
和Configurations
文件夹中的模块的某些对象。
我知道我不能写import listener
,因为它不在同一条道路上。
如果没有添加PYTHONPATH
env变量的路径,导入工作有哪些简单的方法?
有没有办法使它适用于任何机器"开箱即用"无需添加PYTHONPATH
的路径或任何类似的解决方案?优选具有相似路径的东西,如C ++?
答案 0 :(得分:0)
可能重复:Importing from a relative path in Python
简而言之,您需要以编程方式在PYTHONPATH
中定义main.py
,例如:
import sys, os
sys.path.append(os.path.dirname(__file__))
这会隐式地将当前目录添加到PYTHONPATH
。其余部分很简单
在每个目录中创建__init__.py
文件。之后,每个模块都可以导入为from Listener import ...
或from Misc import ...
等。
该方法无需重新定义任何环境变量即可“开箱即用”。