这是我的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”的模块
你说“当我运行 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
相同。)
ModuleNotFoundError:没有名为“src”的模块
在此输入代码 sys.path.append(os.path.join(os.getcwd(), "src/utility"))
将 saleslead_utility 导入为 obj_func
答案 -> 你使用 objec func 来解析而不是获取函数