如:
目录A有2个文件a.py和b.py
a.py
from b import B
def a_func():
tb = B()
b.py
class B():
def __init__(self):
pass
目录B有c.py
from A.a import a_func
a_func()
然后运行c.py就报错
ModuleNotFoundError: No module named 'b'
怎么解决,谢谢了
如:
目录A有2个文件a.py和b.py
a.py
from b import B
def a_func():
tb = B()
b.py
class B():
def __init__(self):
pass
目录B有c.py
from A.a import a_func
a_func()
然后运行c.py就报错
ModuleNotFoundError: No module named 'b'
怎么解决,谢谢了
你是把A目录当做package;B目录的用途情况不了解
1)如果是B下面有执行的入口,那么就按照上面Tony大佬的sys.path.append()
2)如果B也是一个package,那么就from ..A.a import a_func
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
把模块目录路径添加到
python
全局变量中,由于不知道你目录层级如何,所以就把目录A
和目录B
都添加了下面是交互式命令行实现目的的方式,只在当前进程生效,如果需要一直生效,请参考:python的sys.path(环境变量)简单总结
然后引入的时候就可以直接引用了