基本上我问这个问题同样的问题:如何在Python中进行相对导入?
但没有人给他一个正确的答案.鉴于你在一个子文件夹中,你想要上一个目录,然后进入另一个子文件夹,做他们建议的不起作用(正如OP在他的评论中指出的那样).
我知道你可以通过使用sys.path来做到这一点,但我更喜欢一个更干净的方法.
例:
App __init__.py Package_A --__init__.py --Module_A.py Package_B --__init__.py --Module_B.py
如何将Module_A导入Module_B?
main.py setup.py app/ -> __init__.py package_a/ -> __init__.py module_a.py package_b/ -> __init__.py module_b.py
你跑python main.py
.
main.py
作用: import app.package_a.module_a
module_a.py
不 import app.package_b.module_b
或者2或3可以使用: from app.package_a import module_a
只要你有app
PYTHONPATH ,那就行了.main.py
可能在任何地方.
因此,您编写了一个setup.py
将整个应用程序包和子包复制(安装)到目标系统的python文件夹,以及main.py
目标系统的脚本文件夹.