2012-08-24 19 views
7

मैं सादे अजगर खोल में हूँ और मैं जब अपने प्रोजेक्ट मॉडल आयात करने की कोशिश इस त्रुटि हो रही है:django.db आयात 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 

किसी को भी मुझे इसे ठीक करने पर एक सूचक दे ​​सकते हैं? मैं पायथन 2.7 का उपयोग कर रहा हूँ।

+1

डीजेगो –

+2

पुनर्स्थापित करें क्या आपने अपना खुद का पैकेज या मॉड्यूल बनाया है जिसे 'यूटिल' कहा जाता है जो एक अजीब संघर्ष कर सकता है? डीजेंगो को पुनः स्थापित करने के लिए आश्वस्त नहीं है क्योंकि यह स्पष्ट रूप से django.db.utils फ़ाइल को मिला है। स्टैक ट्रेस दिखाता है कि वहां उसका निष्पादन कोड है। – mleonard87

+0

क्या आपने पर्यावरण को सही तरीके से सेट किया है? आप कहते हैं कि आप सादे पायथन खोल में हैं, लेकिन 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 के पायथन खोल यानी {$।/Manage.py shell} का उपयोग त्रुटि को फेंक नहीं देता है। मुझे लगता है कि Django अपने स्वयं के छोटे अनुकूलन/पायथन के पैकेजों को ओवरराइड करता है, इसलिए पारंपरिक दुभाषिया में विचलन।

0

मुझे एक ही त्रुटि थी। डीजेंगो को अनइंस्टॉल करने और पुनर्स्थापित करने का ख्याल रखा:

sudo pip uninstall django 
sudo pip install django 
0

अपने sys पथ में django जोड़ें। मेरे पास एक समान मुद्दा था और यह मेरे लिए काम करता था।

संबंधित मुद्दे