在下面的层次结构中,有没有一种方便且通用的方法可以使用一个通用术语引用top_package,在所有.py文件中都能够使用呢?我希望有一种一致的导入其他模块的方式,这样即使"top_package"更改名称,也不会出现问题。
我不赞成使用相对导入,比如"..level_one_a",因为相对路径在每个Python文件中都不同。我正在寻找一种方法,以满足以下要求:
1. 每个Python文件可以为包中相同模块具有相同的导入声明。 2. 在包内任何.py文件中进行解耦式的"top_package"引用,使得无论"top_package"更改名称为何,都不会出现问题。
我不赞成使用相对导入,比如"..level_one_a",因为相对路径在每个Python文件中都不同。我正在寻找一种方法,以满足以下要求:
1. 每个Python文件可以为包中相同模块具有相同的导入声明。 2. 在包内任何.py文件中进行解耦式的"top_package"引用,使得无论"top_package"更改名称为何,都不会出现问题。
top_package/
__init__.py
level_one_a/
__init__.py
my_lib.py
level_two/
__init__.py
hello_world.py
level_one_b/
__init__.py
my_lib.py
main.py