2012-08-24 10 views
7

estoy en el intérprete de Python simple y estoy recibiendo este error al intentar importar mis modelos de proyectos:desde django.db import utilS ImportError no puede importar nombres utils?

from results.models import TestResult 

Traceback (most recent call last): 
    File "C:\Program Files (x86)\Wing IDE 3.2\src\debug\tserver\_sandbox.py", line 1, in <module> 
    # Used internally for debug sandbox under external interpreter 
    File "C:\Users\audrey_moreau\myProject\results\models.py", line 1, in <module> 
    from django.db import models 
    File "c:\Python27\Lib\site-packages\django\db\__init__.py", line 40, in <module> 
    backend = load_backend(connection.settings_dict['ENGINE']) 
    File "c:\Python27\Lib\site-packages\django\db\__init__.py", line 34, in __getattr__ 
    return getattr(connections[DEFAULT_DB_ALIAS], item) 
    File "c:\Python27\Lib\site-packages\django\db\utils.py", line 92, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "c:\Python27\Lib\site-packages\django\db\utils.py", line 54, in load_backend 
    return import_module('.base', backend_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\db\backends\sqlite3\base.py", line 14, in <module> 
    from django.db import utils 
ImportError: cannot import name utils 

¿Puede alguien darme un puntero sobre cómo solucionar este problema? Estoy usando Python 2.7.

+1

Reinstalar Django –

+2

¿Ha creado su propio paquete o módulo llamado 'utils' que podría estar causando un conflicto extraño? No estoy convencido de reinstalar Django es la respuesta, ya que se encuentra claramente el archivo django.db.utils. El seguimiento de pila muestra que su código de ejecución está allí. – mleonard87

+0

¿Ha configurado el entorno correctamente? Dices que estás en un shell de python simple, pero para usar los modelos de django necesitas estar dentro del shell django o configurar el shell para que funcione. – aherok

Respuesta

1

Tuve este error y fue causado por django_nose. Yo estaba tratando de importar django_nose de settings.py para determinar si existe en el sistema de la siguiente manera:

try: 
    import django_nose 
    INSTALLED_APPS += ['django_nose'] 
    TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' 
except ImportError: 
    pass 

he modificado esta a

from imp import find_module 
try: 
    find_module('django_nose') 
    INSTALLED_APPS += ['django_nose'] 
    TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' 
except ImportError: 
    pass 

y estaba resuelto mi problema ...

1

No sé el motivo exacto, pero usar el shell python de Django, es decir {$./Manage.py shell}, no arroja el error. Creo que Django hace su propia pequeña personalización/anulación de los paquetes de Python, de ahí el altercado en el intérprete tradicional.

0

Tuve el mismo error. Desinstalar y reinstalar django se encargó de ello:

sudo pip uninstall django 
sudo pip install django 
0

agregue django a su ruta de acceso sys. Tuve un problema similar y funcionó para mí.

Cuestiones relacionadas