首页 > 解决方案 > Python:运行 Python Unittest 时出现错误

问题描述

我正在使用以下 python 版本

$ python --version
Python 3.8.0

Python 文件夹仅包含以下 4 个

IDLE (Python 3.8 32-bit)
Python 3.8 (32-bit)
Python 3.8 Manuals (32-bit)
Python 3.8 Module Docs (32-bit)

我在 test_sum_unittest.py 中有以下单元测试

import unittest


class TestSum(unittest.TestCase):

    def test_sum(self):
        self.assertEqual(sum([1, 2, 3]), 6, "Should be 6")

    def test_sum_tuple(self):
        self.assertEqual(sum((1, 2, 2)), 6, "Should be 6")

if __name__ == '__main__':
    unittest.main()

跑测试

python test_sum_unittest.py

错误日志如下

Traceback (most recent call last):
  File "test_sum_unittest.py", line 1, in <module>
    import unittest
  File "C:\Users\ali\AppData\Local\Programs\Python\Python38-32\lib\unittest\__init__.py", line 59, in <module>
    from .result import TestResult
  File "C:\Users\ali\AppData\Local\Programs\Python\Python38-32\lib\unittest\result.py", line 5, in <module>
    import traceback
  File "C:\Users\ali\AppData\Local\Programs\Python\Python38-32\lib\traceback.py", line 5, in <module>
    import linecache
  File "C:\Users\ali\AppData\Local\Programs\Python\Python38-32\lib\linecache.py", line 11, in <module>
    import tokenize
  File "C:\Users\ali\AppData\Local\Programs\Python\Python38-32\lib\tokenize.py", line 34, in <module>
    from token import *
  File "C:\Users\ali\Flasky\Automation\token.py", line 1, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

那里有什么问题?

任何帮助将不胜感激,我之前有 python2.7,我可以在文件夹中看到我有很多文件夹,即 libs、脚本、Lib、Doc、Dlls、tcl、工具,但在 python 3.8.0 中

现在更新我已经安装了python 3.5,但仍然出现以下错误

好的,现在我已经重新安装了 python 3-5-1 并且文件夹似乎包含所有内容,但它仍然给出以下错误

Traceback (most recent call last):
  File "test_sum_unittest.py", line 1, in <module>
    import unittest
  File "unittest\__init__.py", line 58, in <module>
  File "unittest\result.py", line 5, in <module>
  File "traceback.py", line 5, in <module>
  File "linecache.py", line 11, in <module>
  File "tokenize.py", line 34, in <module>
  File "C:\Users\ali\Flasky\Automation\token.py", line 1, in <module>
    import requests
  File "C:\python-3.5.3\lib\site-packages\requests\__init__.py", line 43, in <module>
    import urllib3
  File "C:\python-3.5.3\lib\site-packages\urllib3\__init__.py", line 7, in <module>
    from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url
  File "C:\python-3.5.3\lib\site-packages\urllib3\connectionpool.py", line 28, in <module>
    from .packages.six.moves import queue
  File "C:\python-3.5.3\lib\site-packages\urllib3\packages\six.py", line 91, in __get__
    result = self._resolve()
  File "C:\python-3.5.3\lib\site-packages\urllib3\packages\six.py", line 113, in _resolve
    return _import_module(self.mod)
  File "C:\python-3.5.3\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
    __import__(name)
  File "queue.py", line 6, in <module>
  File "dummy_threading.py", line 45, in <module>
  File "threading.py", line 7, in <module>
ImportError: cannot import name 'format_exc'

任何帮助将不胜感激

萨拉

标签: pythontestingpython-unittest

解决方案


好的,我已经解决了这个问题,问题是在我的目录中我有一个名为 token.py 的文件,我重命名了它,一切都开始工作了,现在地球上的人怎么会发现这可能是原因,但我很高兴它现在正在工作,谢谢大家。


推荐阅读