Python突然出错:"没有名为unittest的模块。"我没有进行单元测试

时间:2015-08-09 01:39:28

标签: python django pydev

我有一个Django应用程序,它突然开始给我一个错误。我做了一个代码更改,重新启动了应用程序,现在我无法摆脱这个错误。我真的不认为我在两次运行之间做了其他任何事情。

错误是ImportError:"没有名为unittest的模块"我不知道它是否认为应该进行单元测试,或者这是否恰好是首先失败的。

我尝试使用manage.py runserver从Eclipse和CMD行运行它。同样的错误。 (这是一个更新。之前我只是从Eclipse尝试过。)在Eclipse中创建的全新项目也有同样的错误。

任何Web应用程序(使用runserver)都会发生这种情况,所以它不是我的代码。我还恢复了之前工作正常的旧代码。

我尝试重新启动计算机。

我可以从cmd行运行"常规'(不是Web应用程序)python程序。所以它确实找到了Python。

我真的不知道该做什么,除了重新安装Python,我想避免。任何人吗?

新的堆栈跟踪(更新:之前来自Eclipse并且只显示了pydev错误。从cmd行运行它显示更多python。)

Validating models...

Unhandled exception in thread started by <bound method Command.inner_run of <django.core.management.commands.runserver.Command object at 0x02FE2710>>
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 93, in inner_run
    self.validate(display_num_errors=True)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 280, in validate
    num_errors = get_validation_errors(s, app)
  File "C:\Python27\lib\site-packages\django\core\management\validation.py", line 35, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 166, in get_app_errors
    self._populate()
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 75, in _populate
    self.load_app(app_name)
  File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 96, in load_app
    models = import_module('.models', app_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\contrib\auth\models.py", line 18, in <module>
    from django.contrib.auth.hashers import (
  File "C:\Python27\lib\site-packages\django\contrib\auth\hashers.py", line 8, in <module>
    from django.test.signals import setting_changed
  File "C:\Python27\lib\site-packages\django\test\__init__.py", line 6, in <module>
    from django.test.testcases import (TestCase, TransactionTestCase,
  File "C:\Python27\lib\site-packages\django\test\testcases.py", line 35, in <module>
    from django.test import _doctest as doctest
  File "C:\Python27\lib\site-packages\django\test\_doctest.py", line 104, in <module>
    import unittest, difflib, pdb, tempfile
ImportError: No module named unittest

2 个答案:

答案 0 :(得分:0)

好吧,我不知道我是否称它为答案,但我重新安装了Python,现在它正在运行。现在我只需要重新安装我的10个左右的库来修复运行时错误。

答案 1 :(得分:0)

unittest模块是python的组成部分,当django尝试导入时会导致导入错误。你必须以某种方式删除一些python包,或者安装已损坏。