首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python导入错误-运行unittest

Python导入错误-运行unittest
EN

Stack Overflow用户
提问于 2018-07-17 16:35:31
回答 1查看 3.6K关注 0票数 2

为什么我在项目中有一个模块会出现导入错误。所有的包都在项目下,它们都有__init __.py和其他脚本不会给出相同的错误。Python版本是3.6。代码是在Unix环境下编写的。

下面是我得到的导入错误。我正试图在这里运行一个测试。

代码语言:javascript
复制
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'
EN

回答 1

Stack Overflow用户

发布于 2019-07-31 17:54:27

我在运行单元测试(具有正确的可导入结构)时遇到过类似的导入错误问题,但原因和解决方案与上面的答案不同。尽管如此,这仍然是相关的,可能会对某些人有所帮助。

在我的例子中,我有这样的结构(__init__.py存在,但为了简短起见在下面省略):

代码语言:javascript
复制
mypkg
  \-- foo.py
another
tests
  \-- some
        \-- <tests here>
      mypkg  <--- same name as top level module mypkg
        \-- test_a.py

从顶层目录运行时,从mypkg导入test_a.py中的模块失败:

代码语言:javascript
复制
# test_a.py
from mypkg import foo  # causes ModuleNotFoundError: No module named 'mypkg.foo'

tests文件夹下的mypkg文件夹重命名为其他名称解决了此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51376731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档