2012-04-21 22 views
6

django के लिए Django 1.4 पर अपग्रेड करने के बाद अपग्रेड करने के बाद नहीं चलेंगे, अब मैं निम्न त्रुटि संदेश मिलता है:Django एप्लिकेशन 1.4

raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e)) 
ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py 

मैंने पढ़ा यह Pydev 2.4 जैसे के साथ कुछ हो सकता है : here, इसलिए मैंने नवीनतम संस्करण, 2.5 में pydev को अपग्रेड किया। मैं ग्रहण इंडिगो का उपयोग कर रहा हूँ।

मैंने रन कॉन्फ़िगरेशन पर एक नज़र डालना शुरू कर दिया, और देखा कि django 1.3 अंडे का अभी भी संदर्भित किया जा रहा है। तो मैं विंडोज/वरीयताओं/pydev/दुभाषिया-पायथन पर गया, और 1.3 अंडे सिस्टम पायथन पथ में संदर्भित किया जा रहा था।

इसे आजमाने और सही करने के लिए, मैंने मौजूदा पायथन दुभाषिया को हटा दिया, और एक नया जोड़ा। मेरा अजगर venv से चलाया जाता है, इसलिए मैंने इसे जोड़ा। कोई त्रुटि आता है:

Error message

मुझे नहीं लगता कि यह संबंधित है, लेकिन मैं देख सकता हूँ कि/venv/lib सिस्टम PYTHONPATH सूची में दिखाई देता है, Windows में फ़ोल्डर/venv कहा जाता है, जबकि/लिब, इसलिए मैंने इसे भी जोड़ा। फिर भी नया django अंडे शामिल नहीं किया गया है, इसलिए मैंने मैन्युअल रूप से 'पुस्तकालय' विंडो के तहत इसे जोड़ा।

हालांकि, मुझे अभी भी त्रुटि संदेश प्राप्त हो रहा है।

ऐप कमांड लाइन से ठीक चलाता है।

उत्तर

5

अलग-अलग चीजों की कोशिश करने के कुछ घंटों के बाद यह पता चला।

मैंने पीडीडीवी 2.5 का उपयोग करके एक नया Django प्रोजेक्ट बनाया है, यह देखने के लिए कि क्या होगा, और मैंने देखा कि 'django सेटिंग्स मॉड्यूल' प्रविष्टि (नीचे देखें) appname.settings थी। पहले मैंने 'settings.py' रखा था। मैंने पूरी तरह से प्रविष्टि को हटा दिया, जिसने पहली समस्या को मंजूरी दे दी।

enter image description here

इस के बाद मैं हो रही थी एक त्रुटि 'मॉड्यूल APPNAME नहीं मिला' है, इसलिए मैं अपने ऐप है, जो काम करने के लिए लग रहा था की जड़ में एक खाली __init__.py फ़ाइल डाल करने की कोशिश की।

+3

मैं एक ऐसी ही समस्या पैदा हुई। मैंने 'mysite.settings' को Django सेटिंग्स मॉड्यूल के रूप में रखा है और मेरा Django ऐप चलाया गया है और अच्छी तरह से डीबग किया गया है। –

+0

बहुत निराशाजनक है कि पीईडीवी इस के लिए नहीं पूछता है या इसे आयातित प्रोजेक्ट के लिए रन कॉन्फ़िगरेशन बनाते समय manage.py में स्ट्रिंग अक्षर से पढ़ता है (या कम से कम शिकायत करता है कि आप इसे सेट करना भूल गए हैं!)। लेकिन हाँ, इस क्षेत्र को स्थापित करने से यह मेरे लिए भी तय हो गया है। धन्यवाद! –

1

वर्चुअलनव में, यह आमतौर पर वह मामला है जहां आप स्थापित प्रक्रिया के दौरान बेस पायथन इंस्टॉलेशन से/Lib को जोड़ना भूल गए हैं (इसलिए, जब PythonPATH में खोज रहे हों तो उसे 'threading.py' जैसी चीजें नहीं मिल रही हैं या ।

import os 

os.environ['DJANGO_SETTINGS_MODULE'] = '<django_app_folder>.settings' 
os.environ['SERVER_NAME'] = '<name_of_server>' 

<django_app_folder>settings.py फ़ाइल वाले फ़ोल्डर का नाम है

: 'traceback.py', आदि

0

मैं करने के लिए निम्न manage.py जोड़कर इस हलवहां होने की जरूरत है, लेकिन मुझे नहीं पता था कि यह तय करता है कि यह किस पर सेट है।

0

मुझे यह समस्या थी। मेरे प्रोजेक्ट में पाइडेव नहीं था - डीजेगो संपत्ति, इसलिए यहां दूसरा समाधान काम नहीं करता था। मुझे लगता है कि ऐसा इसलिए है क्योंकि मैंने शुरुआत में इसे Django प्रोजेक्ट के रूप में नहीं बनाया था। इसके बजाए, क्या काम किया गया:

  1. राइट क्लिक करें प्रोजेक्ट> गुण> पायडेव पायथनपैथ> स्ट्रिंग प्रतिस्थापन चर।
  2. yourapp.settings होना चाहिए इसका मान DJANGO_SETTINGS_MODULE नामक एक चर जोड़ें (या अगर यह पहले से ही वहाँ इसे संपादित)
संबंधित मुद्दे