首页 文章

ImportError:无法导入名称信号

提问于
浏览
7

我正在使用Django 1.3.0和Python 2.7.1 . 在每个测试中我写下面的导入我得到上面的importError:

from django.utils import unittest
from django.test.client import Client

完整堆栈跟踪:

File "C:\Program Files (x86)\j2ee\plugins\org.python.pydev.debug_1.6.3.2010100513\pysrc\runfiles.py", line 342, in __get_module_from_str
    mod = __import__(modname)
  File "C:/Users/benjamin/workspace/BookIt/src/BookIt/tests\basic_flow.py", line 11, in 
    from django.test.client import Client
  File "C:\Python27\lib\site-packages\django\test\__init__.py", line 5, in 
    from django.test.client import Client, RequestFactory
  File "C:\Python27\lib\site-packages\django\test\client.py", line 21, in 
    from django.test import signals
ImportError: cannot import name signals
ERROR: Module: basic_flow could not be imported.

任何想法为什么会这样?

3 回答

  • -1

    @Hugo是对的,因为它是一个settings.py问题 . 但是当我在Django环境中运行时,我没有遇到这个问题 . 但是当我想逐个运行单元测试时(通过使用Pydev的运行作为单元测试),它无法运行 . 我需要做的是添加Django设置模块信息,所以现在我正在做的是在我的单元测试中添加以下行:

    from django.core import management;
    import BookIt.settings as settings;
    management.setup_environ(settings)
    

    这会加载我的Django项目设置,并允许我作为常规单元测试运行 . 如果有人有更好的建议如何在Pydev中更干净地配置这个,请告诉我 .

  • 2

    一分钟前我遇到了同样的问题 . 调查我意识到问题出在我的settings.py *文件中 .

    检查您是否遇到Django正确查找设置文件的问题 .

    此错误消息完全没有意义 .

    • IIRC Django查找settings.py文件,如果没有找到,它会查找环境变量DJANGO_SETTINGS_MODULE并试试 .
  • 5

    这很容易解决 . 如果您已经编写了settings.py(最有可能),只需导航到包含“settings.py”文件的目录并执行它 .

    1] python 2]导入设置

    这些命令应该可以解决问题 . 然后转到任何文件夹并继续执行 .

相关问题