ImportError: cannot import name signals

16,305

Solution 1

@Hugo was right in that it was a settings.py problem. But I didn't had that problem when running through the Django environment. But when I wanted to run unit tests one by one (By using Pydev's run as unittest) it failed to run. What I needed to do was to add the Django settings module information, so for now what I'm doing is adding the following lines to my unit tests:

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

This loads my Django project settings and allow me to run as regular unittest. If anyone has better suggestion on how to configure this more cleanly in Pydev please let me know.

Solution 2

I had the same problem just a minute ago. Investigating I realized the problem was with my settings.py* file.

Check if you are having problems with Django finding your settings file correctly.

This error message is totally non-sense.

* IIRC Django looks for settings.py file, if not found, it looks for environment variable DJANGO_SETTINGS_MODULE and try that.

Share:
16,305
Benjamin K.
Author by

Benjamin K.

Updated on June 12, 2022

Comments

  • Benjamin K.
    Benjamin K. almost 2 years

    I'm using Django 1.3.0 with Python 2.7.1. In every test I write the following imports I get the importError above:

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

    The full stack trace:

      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.
    

    Any ideas why this happening ?

  • Benjamin K.
    Benjamin K. about 13 years
    I don't think that there is a problem with my settings.py file. When I add the following line to the imports: from BookIt.settings import ADMIN_MEDIA_PREFIX it works Ok.