ModuleNotFoundError:没有名为 src 的模块

问题描述 投票:0回答:2

这是我的python项目的文件夹结构(版本3.9.13):

src
    modules
        __init__.py
        fileA.py
    main.py    

tests
    __init__.py
    test_main.py
    test_fileA.py

当我运行 main.py 时,我在第 4 行(在 main.py 中)收到错误“ModuleNotFoundError:没有名为 src 的模块”,其中包含以下导入:

from src.modules.fileA import classOfFileA

如何解决?

我尝试从第 4 行删除“src”,但这样我在测试中遇到了一些问题。事实上,在 test_main.py 中,以下导入失败:

from src.main import *

出现错误:ModuleNotFoundError:没有名为“modules”的模块

python directory-structure modulenotfounderror
2个回答
0
投票

你说“当我运行 main.py 时......”

你想要的是“当我运行 src/main.py 时”

$ python src/main.py

看一下

$ python -m site
输出。 你的 PYTHONPATH 环境变量应该提到
.
点, 当前目录, 并且
site
输出应该提到 您项目的顶级目录。

从项目的顶层调用您的代码,并且

.
点 在环境变量中将为您完成剩下的工作。


同样,

$ python -m unittest tests/test_*.py

应该可以正常工作。

(或者也许您更喜欢

-m unittest test/test_main.py
, 与
-m unittest test.test_main
相同。)


0
投票

ModuleNotFoundError:没有名为“src”的模块

在此输入代码 sys.path.append(os.path.join(os.getcwd(), "src/utility"))

在此处将您的枚举类导入为 obj_func

将 saleslead_utility 导入为 obj_func

答案 -> 你使用 objec func 来解析而不是获取函数

© www.soinside.com 2019 - 2024. All rights reserved.