施贻光 发表于 2021-3-1 10:21:30

Python包和模块的import问题rr

包中有几个模块,比如a.py和b.py。
我可以在a中直接导入B,但是如果包外的c.py程序调用a,它会提示文件中导入B的B模块不存在。我如何正确地导入它?
我知道失败的原因是系统。当它在包内部和包外部运行时,路径是不同的。在包外部调用包内部的模块,并运行和测试包内部的这些模块的方法是什么?

烧开水的果子 发表于 2021-3-31 09:21:53

试试这样行不行
在a.py和b.py文件中都通过包路径来导入
比如在a.py文件中from 包 importb,在b.py文件中from 包 importa

珍惜相遇 发表于 2021-5-6 22:04:04

工作目录(c.py)>包>a.py和b.py
工作目录要在sys.path中
包下面应该有__init__文件
那c.py应该能够导入a.py和b.py
from 包 import a,b
那a和b也应该通过这种方式相互导入
比如在a.py中导入b.py,
import 包.b as bb
我自己有个短程序就是这么导入的。
查看一下你的目录结构,看看是否满足上述条件
页: [1]
查看完整版本: Python包和模块的import问题rr