我制作了 A.py 使用 B.py 的 python 模块,如下所示。在这种情况下,如何在 A.py 中导入 B.py?我想使用其他目录中的 mylib 模块。但由于路径问题,我的代码无法运行。
├── main.py
└── mylib
├── A.py
├── B.py
├── __init__.py
└── main_in_mylib.py
A.py
import B
def test():
B.hello()
B.py
def hello():
print("hello from B")
main_in_mylib.py
import A
A.test()
主.py
import mylib.A as A
A.test()
Traceback (most recent call last):
File "main.py", line 3, in <module>
import mylib.A as A
File "/home/jef/python-module/mylib/A.py", line 3, in <module>
import B
ModuleNotFoundError: No module named 'B'
已更新
ModuleNotFoundError: 没有名为“B”的模块
# main.py
from mylib.A import test
test()
ModuleNotFoundError: 没有名为“B”的模块
# main.py
import mylib.B as B
import mylib.A as A
A.test()
请您参考如下方法:
你需要把A改成
import mylib.B as B
def test():
B.hello()
代替
import B
def test():
B.hello()
因为导入始终与您调用的脚本相关(在本例中为 main.py)
