【问题标题】:Python suddenly has error: "No module named unittest." I'm not running a unit testPython突然报错:“没有名为unittest的模块。”我没有运行单元测试
【发布时间】:2015-08-09 01:39:27
【问题描述】:

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

错误是 ImportError: "No module named unittest" 我不知道它是否认为它应该运行单元测试,或者这恰好是第一个失败的事情。

我已经尝试从 Eclipse 和使用 manage.py runserver 的 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

【问题讨论】:

  • 我们可以看到您更改的代码吗?
  • 我恢复到原来的有效代码。另外,它现在在我所有的网络应用程序中都失败了。这不是代码。
  • 堆栈跟踪怎么样。看看什么叫 unittest
  • 好吧,我不会担心 python。它绝对是pydev。也许将插件重新加载到 Eclipse
  • 我卸载并重新安装了 Pydev。我做了一个新的 Pydev Django 项目。同样的问题。

标签: python django pydev


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    unittest 模块是 python 的组成部分,当 django 尝试导入它时会导致导入错误。你一定是因为某种原因删除了一些 python 包,或者安装损坏了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 2019-09-17
      • 2022-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多