2012-08-24 13 views
7

私は無地のpythonシェルで午前と私のプロジェクトのモデルをインポートしようとしたとき、私はこのエラーを取得しています:from django.db import utils ImportErrorは名前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 

は、誰も私にこの問題を解決する方法についての指針を与えることができますか?私はPython 2.7を使用しています。

+1

Djangoを再インストール –

+2

'utils'という独自のパッケージまたはモジュールを作成しましたが、これは奇妙な競合を引き起こす可能性がありますか? Django.db.utilsファイルがはっきりと分かるので、Djangoを再インストールすることは納得できません。スタックトレースはその中の実行コードを示しています。 – mleonard87

+0

環境を正しく設定しましたか?あなたは普通のpythonシェルであると言っていますが、djangoモデルを使用するには、djangoシェル内にいるか、シェルを動作させる必要があります。 – aherok

答えて

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

正確な理由はわかりませんが、DjangoのPythonシェル{$。/ manage.py shell}を使用してもエラーは発生しません。私はDjangoが独自の小さなカスタマイズ/ Pythonのパッケージをオーバーライドしていると考えています。したがって、伝統的なインタプリタでの論争です。

0

私は同じエラーがありました。 djangoをアンインストールして再インストールしました:

sudo pip uninstall django 
sudo pip install django 
0

あなたのsysパスにdjangoを追加してください。私も同様の問題があり、それは私のために働いた。

関連する問題