来自django.db import utils ImportError无法导入名称utils?

时间:2012-08-24 15:32:54

标签: python django python-2.7 importerror

我在普通的python shell中,我在尝试导入项目模型时收到此错误:

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

任何人都可以给我一个如何解决这个问题的指针吗?我使用的是Python 2.7。

4 个答案:

答案 0 :(得分:1)

我有这个错误,它是由django_nose引起的。我试图从settings.py导入django_nose以确定它是否存在于系统中:

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

我将其修改为

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

我的问题已经解决......

答案 1 :(得分:1)

我不知道确切的原因,但是使用Django的python shell即{$。/ manage.py shell}不会抛出错误。我认为Django自己对python包的自定义/覆盖很少,因此传统解释器中的争论。

答案 2 :(得分:0)

我有同样的错误。卸载并重新安装django可以解决它:

sudo pip uninstall django
sudo pip install django

答案 3 :(得分:0)

将django添加到您的sys路径中。我有一个类似的问题,它对我有用。