ImportError: невозможно импортировать сигналы имен - PullRequest
7 голосов
/ 12 мая 2011

Я использую 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 ]

5 голосов
/ 14 мая 2011

@ Хьюго был прав в том, что это была проблема settings.py.Но у меня не было этой проблемы при работе в среде Django.Но когда я захотел запустить модульные тесты один за другим (используя запуск Pydev как unittest), он не запустился.Мне нужно было добавить информацию о модуле настроек Django, поэтому сейчас я добавляю следующие строки в мои модульные тесты:

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

Это загружает мои настройки проекта Django и позволяет мнебежать как обычный юнит-тест.Если у кого-то есть лучшее предложение о том, как настроить это более аккуратно в Pydev, пожалуйста, дайте мне знать.

2 голосов
/ 13 мая 2011

У меня была такая же проблема минуту назад. Расследуя, я понял, что проблема была с моим settings.py * файлом.

Проверьте, есть ли у вас проблемы с Django, который правильно находит файл настроек.

Это сообщение об ошибке совершенно бессмысленно.

* IIRC Django ищет файл settings.py , если не найден, ищет переменную окружения DJANGO_SETTINGS_MODULE и пробует это.

0 голосов
/ 23 июня 2014

Это легко решить. Если вы уже написали файл settings.py (наиболее вероятный), просто перейдите в каталог, в котором находится файл «settings.py», и выполните его.

1] питон 2] импорт настроек

Эти команды должны помочь. Затем перейдите в любую папку и продолжите выполнение.

...