问题描述
我试图了解有关在项目中导入python本地模块(版本3)的所有信息。
├── Aux
│ ├── __init__.py
│ ├── lib1.py
│ └── lib2.py
└── main.py
在lib1.py
内部有一个函数fun_A
,在lib2.py
内部有一个需要fun_B
的函数fun_A
。 main.py
同时使用fun_A
和fun_B
函数。
问题是:如果要独立执行lib2.py
和main.py
,应该如何编写导入选项?我的意思是要成功运行以下2条命令(均在必要目录中)。
#in the upper directory (./)
python3 main.py
#in ./Aux directory
python3 lib2.py
也许没有一种pythonic的方法可以做到这一点,因为所有功能都需要导入main.py
中?
要复制/粘贴并测试这些文件
---main.py---
from Aux.lib1 import fun_A
from Aux.lib2 import fun_B
if __name__ == "__main__":
fun_A()
fun_B()
---lib1.py---
def fun_A():
print("A function called")
---lib2.py---
from .lib1 import fun_A
def fun_B():
fun_A()
print("B function called")
现在有问题的命令是python3 lib2.py
,它输出ModuleNotFoundError: No module named '__main__.lib1'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)