我在tests/__init__.py
中有这个构造:
try:
import mock
except ImportError:
from unittest import mock
和其他我拥有的文件
from tests.mock import Mock
但是,它不起作用。 Python 3.8抱怨“ ModuleNotFoundError: No module named 'tests.mock'
”。任何想法,如何正确执行?
答案 0 :(得分:2)
首先,要指定模块tests
,您的文件必须命名为__init__.py
(因此,在名称之前和之后的 中使用两个下划线,例如{{ 1}}等。
仅当__init__
是程序包的名称时,路径tests.mock
才有效(但不是,它只是一个模块)。为实现此目的,您应该tests
然后使用import tests
(为方便起见也可以分配tests.mock.Mock
)或使用Mock = tests.mock.Mock
并使用它。
以下是一些后续文档,但更多地关注于导入的内部: https://docs.python.org/3/reference/import.html