python - 该模块不知道其在 Python 中的已知包

标签 python module package

我在导入自己的模块时遇到一些小问题。
我的项目的结构如下所示。

src/  
|-- utils/  
|----- __init__.py  
|----- foo_a.py  
|----- foo_b.py  
|-- main.py  

ma​​in.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/

相关文章:

javascript - 在 Node/Electron 环境中共享 ESM ".js"模块

python - Pip install 忽略 MANIFEST.in 中的文件 - 如何正确构建项目?

sql - C 语言的 DB2 包

python - 使用正则表达式来匹配特定数据

Python正则表达式替换数字-1

javascript - 如何正确发布 AMD 模块以便 RequireJS 可以定位依赖项?

Python - 从其他模块中的函数重新分配全局变量的最佳方法

c++ - 在 virtualenv 中使用 c++ 编译库

python - 在 matplotlib 中用不同的颜色绘制 'vectors'

Python Selenium chrome - 如何禁用用户输入