Django - "django.core.management नाम का कोई मॉड्यूल नहीं"


104

कमांड लाइन से Django चलाने की कोशिश करते समय मुझे निम्न त्रुटि मिलती है।

File manage.py, line 8, in <module>
     from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

कोई विचार कैसे इस को हल किया जा सकता है?


वास्तव में आप क्या चलाने की कोशिश कर रहे हैं, पायथन का कौन सा संस्करण, Django आदि का संस्करण ...?
जॉन क्लेमेंट्स

मेरे स्थानीय होस्ट का संस्करण पायथन 2.6.6 और 1.4.3 डायंगो है। पायथन सर्वर 2.6.6 है और Dyango के लिए जाँच नहीं कर सकता कि क्या जाँच करना है?
Krasimir

मुझे यह त्रुटि बेतरतीब ढंग से मिली जबकि पलायन करने की कोशिश कर रहा था और मैं अपने वर्चुअल वातावरण में Django के साथ स्थापित था। मैंने बस फिर से कमान चलाई और यह काम किया।
आलाप

मेरी भी यही त्रुटि है। मेरे पास django इंस्टॉल है लेकिन मैं इसे डिस्ट-पैकेज डायरेक्टरी में स्थापित करता हूं। Dockerfile ubuntu आधार छवि का उपयोग करता है। इसलिए मैंने ENV PYTHONPATH="$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages"इसे जोड़ने के लिए Dockerfile को अपडेट किया लेकिन यह अभी भी django ऐप को लोड नहीं कर रहा है।
आल्टेज

जवाबों:


55

ऐसा लगता है कि आप django स्थापित नहीं है। आपको इस कमांड द्वारा उत्पादित निर्देशिका की जाँच करनी चाहिए:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

यह देखने के लिए कि क्या आपके पास वहां के django पैकेज हैं।

यदि साइट-संकुल के अंदर कोई django फ़ोल्डर नहीं है, तो आपके पास django स्थापित नहीं है (कम से कम उस संस्करण के अजगर के लिए)।

यह संभव है कि आपके पास अजगर के एक से अधिक संस्करण स्थापित हों और django दूसरे संस्करण के अंदर हो। आप टाइप करने पर अजगर के सभी संस्करणों का पता लगा सकते हैं pythonऔर फिर TAB दबा सकते हैं। यहां सभी अलग-अलग अजगर के हैं।

$python
python            python2-config    python2.6         python2.7-config  pythonw2.5
python-config     python2.5         python2.6-config  pythonw           pythonw2.6
python2           python2.5-config  python2.7         pythonw2          pythonw2.7

आप पायथन के प्रत्येक संस्करण के लिए उपरोक्त कमांड कर सकते हैं और प्रत्येक के साइट-पैकेज निर्देशिका के अंदर देख सकते हैं कि क्या उनमें से किसी ने django इंस्टॉल किया है। उदाहरण के लिए:

python2.5 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
python2.6 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

यदि आप python2.6 के अंदर django खोजने के लिए होते हैं, तो अपने मूल आदेश के साथ प्रयास करें

python2.6 manage.py ...

यह वही है सही आदेश के बाद "/usr/lib/python2.6/site-packages" आता है
Krasimir

"/Usr/lib/python2.6/site-packages" फ़ोल्डर में जाएं और देखें कि क्या अंदर django नामक फ़ोल्डर है।
रवियु

और कुछ नहीं Django: D
Krasimir

नमस्ते, कृपया मेरे संपादित उत्तर की जाँच करें। हो सकता है कि आपका django अजगर के दूसरे संस्करण में हो।
रविउ

1
यदि आपने virtualenv या वर्चुअल वातावरण का उपयोग करते हुए django स्थापित किया है, तो आपको इसे चलाने के लिए वर्चुअल वातावरण में रहना होगा, जब तक कि आपने इसे विश्व स्तर पर सिस्टम में स्थापित नहीं किया है।
रेमन सुआरेज़

41
sudo pip install django --upgrade 

मेरे लिए चाल चली।


4
आपके उत्तर ने मेरे लिए काम किया, इसलिए मैंने इसे एक उत्थान दिया। हालाँकि, केवल आपका उत्तर ही पर्याप्त नहीं था, क्योंकि जब मैं भागा sudo pip install django --upgradeतो मुझे एक नई त्रुटि दी No module named psycopg2:। तो, मैं भाग गया sudo pip install psycopg2 --upgrade, और यह चाल चली ।
डोरियन डोर

2
पता चला कि मैंने django को स्थापित नहीं किया है ... हालांकि मैंने इसे मशीन पर उपयोग किया था। अजीब।
जेम्स

मेरे पास एक टाइमआउट मुद्दा था इसलिए मैंने किया sudo pip install --default-timeout=100 django --upgradeऔर यह सब आसानी से हो गया।
जैप

यदि आप "pyenv" का उपयोग कर रहे हैं, तो आपको निम्नलिखित की आवश्यकता होगी:pip install django --upgrade --user
Inyoka

30

मुझे वही त्रुटि मिली और मैंने इसे इस तरीके से तय किया:

मुझे निम्नलिखित आदेश का उपयोग करके अपने आभासी वातावरण को सक्रिय करना था

source python2.7/bin/activate

22

शायद आपकी manage.pyपहली पंक्ति में शुरुआत होती है, !/usr/bin/pythonजिसका अर्थ है कि आप अपने आभासी वातावरण में एक के बजाय सिस्टम ग्लोबल पायथन का उपयोग कर रहे हैं।

इसलिए प्रतिस्थापित करें

/usr/bin/python

साथ में

~/projectpath/venv/bin/python

और आपको अच्छा होना चाहिए


धन्यवाद। यह मदद करता है।
सर्ग स्मैक

मेरे प्रोजेक्ट में एक bash स्क्रिप्ट थी, जो ऐप के एक हिस्से को बुलाती थी, और उस bash स्क्रिप्ट में python startappइसलिए मुझे इसे बदलना पड़ा /path/to/venv/bin/python startappऔर इसने काम किया। इस बारे में बताने के लिए शुक्रिया!!
गॉर्डस्टर

13

ठीक है, मैं आज virtualenv और django स्थापित करने के बाद एक ही त्रुटि का सामना करना पड़ा। मेरे लिए यह था कि मैंने django को स्थापित करने के लिए sudo ( sudo pip install django ) का उपयोग किया था , और मैं sudo के बिना manage.py runserver को चलाने का प्रयास कर रहा था । मैंने सिर्फ सूडो को जोड़ा और यह काम कर गया। :)


10

क्या आप आभासी आवरण के साथ एक आभासी वातावरण का उपयोग कर रहे हैं? क्या आप मैक पर हैं?

यदि ऐसा है तो यह प्रयास करें:

वर्चुअल वातावरण शुरू करने के लिए अपनी कमांड लाइन में निम्नलिखित दर्ज करें और फिर उस पर काम करें

1.)

source virtualenvwrapper.sh

या

source /usr/local/bin/virtualenvwrapper.sh

2.)

workon [environment name]

नोट (एक नौसिखिया से) - अपने पर्यावरण के नाम के आसपास कोष्ठक न लगाएं


मुझे यह पता लगाने में दो सेकेंड का समय लगा कि वर्चुअलबेनव सक्षम नहीं था, लेकिन यह मेरी समस्या थी ... इसलिए मैंने ऊपर से गूगल बटन को एक बार मारा और कुछ भी नहीं पढ़ा जो ऊपर आया।
रोबॉटहूमंस

7

मुझे कमांड चलाते समय भी यही समस्या है-

python manage.py startapp <app_name>

लेकिन मेरे साथ समस्या यह है कि मैं उस कमांड को वर्चुअल वातावरण से बाहर चला रहा था। केवल अपने वर्चुअल वातावरण को सक्रिय करें और कमांड को फिर से चलाएं -


1
मेरे प्रोजेक्ट में एक bash स्क्रिप्ट थी, जो ऐप के एक हिस्से को बुलाती थी, और उस bash स्क्रिप्ट में python startappइसलिए मुझे इसे बदलना पड़ा /path/to/venv/bin/python startappऔर इसने काम किया।
गॉस्टर जूल

5

यह समस्या तब होती है जब आपके कंप्यूटर पर django इंस्टॉल नहीं होता है। जब django इंस्टॉल नहीं है जिसका मतलब django.core.management मॉड्यूल भी स्थापित नहीं है। इसलिए इसे यह मॉड्यूल नहीं मिला और यह त्रुटि देता है।
इस समस्या को हल करने के लिए हमें पाइप का उपयोग करके django को स्थापित करना चाहिए। कॉमैंड लाइन cmd खोलें (विंडोज़ पर) और टाइप करें

pip install django

यह कमांड आपके कंप्यूटर में django इंस्टॉल करेगा। यदि आपके पास पाइप स्थापित नहीं है। आपको पाइप स्थापित करना चाहिए। यहां विंडोज़ पर पाइप कैसे स्थापित करें


5

मैं एक ही चीज का अनुभव करता हूं और यही मैं करता हूं।

पहले मेरी स्थापना

पाइप स्थापित करें -r आवश्यकताएँ

मेरे सक्रिय वातावरण पर नहीं है। इसलिए मैंने अपने पर्यावरण को सक्रिय किया और फिर से चला

पाइप स्थापित करें -r आवश्यकताएँ


4

ठीक है तो यह इस प्रकार है:

आपने एक वर्चुअल वातावरण बनाया है और django मॉड्यूल उस वातावरण से संबंधित है। तब virtualenv खुद को अन्य सभी चीज़ों से अलग करता है, इसलिए आप इसे देख रहे हैं।

आगे की सहायता के लिए इससे गुजरें:

http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/

1. आप उस निर्देशिका पर स्विच कर सकते हैं जहां आपका वर्चुअल वातावरण संग्रहीत है और फिर django मॉड्यूल चलाएं।

2. आंतरिक रूप से आप अपने python-> साइट-संकुल पर या तो पाइप या आसान स्थापना द्वारा विश्व स्तर पर django स्थापित कर सकते हैं

पाइप का उपयोग कर कमांड: पाइप स्थापित django

फिर ऐसा करें:

आयात django प्रिंट (django.get_version ()) (अजगर के किस संस्करण पर निर्भर करता है। आप अजगर 3+ श्रृंखला के लिए उपयोग करते हैं)

और फिर आप इसे चला सकते हैं: अजगर प्रबंधन थिंकपैड चलाने वाला और टाइप करके अपने वेब ब्राउज़र पर जाँच करें: लोकलहोस्ट: 8000 और आपको django संचालित पेज देखना चाहिए।

उम्मीद है की यह मदद करेगा।


3

यदि यह दूसरों के लिए मददगार हो तो ... मेरे पास यह समस्या थी क्योंकि मेरे वर्चुअन ने python2.7 को डिफ़ॉल्ट कर दिया था और मैं उबंटू का उपयोग करते हुए Django को पायथन 3 का उपयोग कर रहा था।

मेरे वर्चुअलनेव को कौन सा अजगर इस्तेमाल कर रहा है यह जांचने के लिए:

$ which python3
>> /usr/bin/python3

python3 के साथ नया वर्चुअनव्यू बनाया गया (वर्चुअलबेन रैपर का उपयोग करके https://virtualenvwrapper.readthedocs.org/en/latest/ ):

$ mkvirtualenv --python=/usr/bin/python3 ENV_NAME

अजगर पथ अब virtualenv अजगर को इंगित करना चाहिए:

$ which python3
>> /home/user/.virtualenvs/ENV_NAME/bin/python3

2

यह तब भी होता है जब आप अपने अजगर परियोजना की निर्देशिका संरचना को बदलते हैं (मैंने ऐसा किया था, और फिर व्यवहार में परिवर्तन पर हैरान था)। यदि आप ऐसा करते हैं, तो आपको अपनी / बिन / सक्रिय फ़ाइल में एक पंक्ति बदलनी होगी। तो, कहते हैं कि आपका प्रोजेक्ट था

/User/me/CodeProjects/coolApp/

और आपकी सक्रिय फ़ाइल है

/User/me/CodeProjects/coolApp/venv/bin/activate

जब आपने अपना प्रोजेक्ट स्थापित किया, तब आपने अपनी परियोजना को बदल दिया

/User/me/CodeProjects/v1-coolApp/

या कुछ और। फिर आपको खोलने की आवश्यकता होगी

/User/me/CodeProjects/v1-coolApp/venv/bin/activate

जहां यह कहते हैं वहां लाइन खोजें

VIRTUAL_ENV="/User/me/CodeProjects/coolApp"
export VIRTUAL_ENV

और इसे बदल दें

VIRTUAL_ENV="/User/me/CodeProjects/v1-coolApp"

पुन: सक्रिय करने से पहले


2

मेरे मामले में, मैं उबंटू का उपयोग कर रहा हूं। समस्या यह हो सकती है कि मुझे उस फ़ोल्डर को सामान्य उपयोगकर्ता के रूप में लिखने की अनुमति नहीं है। आप बस sudoअपने आदेश से पहले जोड़ सकते हैं और यह पूरी तरह से काम करना चाहिए। मेरे मामले में sudo python manage.py syncdb


2

मेरे पास एक ही मुद्दा था और मुझे यह संदेश मिलने का कारण यह था क्योंकि मैं "python manage.py runserver" कर रहा था, जबकि "इसे प्रबंधित" कर रहा था।


2
ध्यान दें कि यदि पायथन 3 का उपयोग किया जाता है तो इसे होना चाहिए python3 manage.py runserver। अन्यथा आयात त्रुटि अभी भी बनी रहेगी।
rbaleksandar

2

मुझे एक ही समस्या थी और अच्छा काम करने के बाद, आपको अपने प्रोजेक्ट में मुख्य फ़ोल्डर को टाइप से नेविगेट करना चाहिए:

source bin/activate 

1

एक ही समस्या थी। कमांड के रूप में 'python manage.py migrate' रूट के रूप में कमांड। रूट एक्सेस के साथ ठीक काम करता है (sudo python manage.py migrate)


1
इस तरह के लक्षण का कारण नहीं इलाज है। अगर sudo काम करता है तो यह शायद एक परमिशन इश्यू है।
ईवंडेंटमोंट

निश्चित रूप से, समस्या का निदान करने का एक तरीका है।
हेमंत गौड़ा

1

मेरा मामला मैंने मैक पर pyCharm 5 का उपयोग किया। मुझे भी यह समस्या थी और इस कमांड को चलाने के बाद मेरी समस्या हल हो गई

sudo pip install django --upgrade 

1

आप इसे इस तरह आज़मा सकते हैं: python3 manage.py migrate( src/निर्देशिका में होना सुनिश्चित करें )

आप माइग्रेट के बाद टाइप करने पर फ़ाइल को pip install -r requirements.txtदेख requirements.txtसकते lsहैं

अगर सब के बाद यह अभी भी काम नहीं करेगा pip install django

आशा करता हूँ की ये काम करेगा



-1

फ़ाइल और निर्देशिका स्वामित्व संघर्ष यहां मुद्दों का कारण होगा। सुनिश्चित करें कि परियोजना के अंतर्गत निर्देशिकाओं और फ़ाइलों का स्वामित्व वर्तमान उपयोगकर्ता के लिए है। (आप -R विकल्प के साथ चाउन कमांड का उपयोग करके उन्हें बदल सकते हैं।) कमांड को फिर से रन करने की कोशिश करें: "फर्स्ट Django ऐप" सैंपल के माध्यम से चलने पर मेरे लिए यह समस्या हल हो गई:

python manage.py startapp polls

-1

मुझे वही समस्या मिली जो कि अजगर प्रबंधन ओडिशा रनर का उपयोग करने की कोशिश कर रहा था । मेरे मामले में मैं सिर्फ sudo su का उपयोग करता हूं । मूल के रूप में टर्मिनल का उपयोग करें और इसे फिर से कोशिश करें यह आंशिक रूप से काम करता है। इसलिए मैं python manage.py का उपयोग comand माइग्रेट करता हूं और इसे ठीक करता हूं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.