gpt4 book ai didi

Python 单元测试无法解析导入语句

转载 作者:太空狗 更新时间:2023-10-30 02:42:57 27 4
gpt4 key购买 nike

我的文件结构如下所示

project
src
__init__.py
main.py
module.py
secondary.py
test
test_module.py

模块.py
import secondary
x = False

中学.py
pass

测试模块.py
from unittest import TestCase

from src import module

class ModuleTest(TestCase):
def test_module(self):
self.assertTrue(module.x)

/project/中调用python3 -m unittest discover报错:

 File "/Users/Me/Code/project/test/test_module.py", line 6, in <module>
from src import module
File "/Users/Me/Code/project/src/module.py", line 1, in <module>
import secondary
ImportError: No module named 'secondary'

我该怎么做才能正确导入 secondary.py

最佳答案

在 Python 3(和带有 from __future__ import absolute_import 的 Python 2)中,当从同一个包中导入另一个模块时,您必须明确说明您想要什么模块。您在 module.py(import secondary)中使用的语法仅在 secondary 是Python 模块搜索路径。

要显式请求从您自己的包中进行相对导入,请使用 from 。改为导入辅助。或者,使用包名和模块名进行绝对导入(from src import secondary,或 import src.secondary 并使用 src. secondary 在模块的其他地方,而不仅仅是 secondary)。

关于Python 单元测试无法解析导入语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34986900/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com