我在导入自己的模块时遇到一些小问题。
我的项目的结构如下所示。
src/
|-- utils/
|----- __init__.py
|----- foo_a.py
|----- foo_b.py
|-- main.py
main.py
from utils import foo_b
foo_a.py
def func_a():
print ("Hello World")
foo_b.py
from foo_a import func_a
func_a()
如果我运行python foo_b.py
它就可以工作。
但是当我运行 python main.py
时,它显示如下错误:
“ModuleNotFoundError:没有名为“foo_a”的模块”
我可以通过以下方式解决这个问题:
导出 PYTHONPATH = path_of_utils_folder
但这很烦人。 所以我想知道我构建项目的方式是否不正确,或者是因为我导入模块的方式?
谢谢。
最佳答案
foo_a.py 不是实例,因此您不能用作可以使用 from utils import ... 的模块
这是错误的用法>>> from foo_a import
如果你想使用 foo_a
你需要 foo_a 中的一些东西,例如:
在 foo_a 中;
def plus(a,b):
return(a+b)
现在,您可以使用 from foo_a import plus 但你不能使用 from foo_a import plussss
因为 plusss 不在 foo_a 中
使用 plusss 应该在 foo_a 中
关于python - 该模块不知道其在 Python 中的已知包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55439939/