为什么我在项目中有一个模块会出现导入错误。所有的包都在项目下,它们都有__init __.py和其他脚本不会给出相同的错误。Python版本是3.6。代码是在Unix环境下编写的。
下面是我得到的导入错误。我正试图在这里运行一个测试。
Ran 1 test in 0.001s
FAILED (errors=1)
Error
Traceback (most recent call last):
File "/usr/lib/python3.6/unittest/case.py", line 59, in testPartExecutor
yield
File "/usr/lib/python3.6/unittest/case.py", line 605, in run
testMethod()
File "/usr/lib/python3.6/unittest/loader.py", line 34, in testFailure
raise self._exception
ImportError: Failed to import test module: test_SMSHandler
Traceback (most recent call last):
File "/usr/lib/python3.6/unittest/loader.py", line 153, in loadTestsFromName
module = __import__(module_name)
File "/home/sevvalboylu/server/app/api/test_SMSHandler.py", line 11, in <module>
from middleware.services import Sender
ModuleNotFoundError: No module named 'middleware'
发布于 2019-07-31 17:54:27
我在运行单元测试(具有正确的可导入结构)时遇到过类似的导入错误问题,但原因和解决方案与上面的答案不同。尽管如此,这仍然是相关的,可能会对某些人有所帮助。
在我的例子中,我有这样的结构(__init__.py
存在,但为了简短起见在下面省略):
mypkg
\-- foo.py
another
tests
\-- some
\-- <tests here>
mypkg <--- same name as top level module mypkg
\-- test_a.py
从顶层目录运行时,从mypkg
导入test_a.py
中的模块失败:
# test_a.py
from mypkg import foo # causes ModuleNotFoundError: No module named 'mypkg.foo'
将tests
文件夹下的mypkg
文件夹重命名为其他名称解决了此问题。
https://stackoverflow.com/questions/51376731
复制相似问题