Django स्थापित, लेकिन अजगर में django आयात नहीं कर सकते


14

मैं Django कई तरीके, के माध्यम से apt-getऔर स्थापित किया है pip install। वे सभी कहते हैं कि मेरे पास Django का सबसे नवीनतम संस्करण है। अब जब भी मैं टर्मिनल में पायथन चलाता हूं और आयात django में टाइप करता हूं, मुझे प्राप्त होता है

ImportError: No module named django

हालाँकि, जब मैं दौड़ता django-admin --versionहूँ तो मुझे प्राप्त होता है

1.4.3

मुझे पता है कि यह स्थापित है, लेकिन अजगर django मॉड्यूल को क्यों नहीं खोज रहा है?


क्या आपने मैन्युअल रूप से पायथन स्थापित किया?
इग्नासियो वाज़केज़-अब्राम्स

सच कहूं तो मुझे याद नहीं है।
jason328

जवाबों:


7

pythonनहीं मिल रहा है djangoक्योंकि यह अपने रास्ते पर नहीं है। आप pythonइस तरह से मॉड्यूल के लिए पथ की सूची देख सकते हैं :

$ python
>>> import sys
>>> sys.path

आप djangoइसे स्थापित किए गए स्थान का पता लगाने पर आयात कर सकते हैं , और उस स्थान को pythonपथ में जोड़ सकते हैं , उदाहरण के लिए इस तरह:

$ PYTHONPATH=/path/to/django/parent/dir python
>>> import django  # should work now

लेकिन आपकी वास्तविक समस्या यह है कि आपके pythonइंस्टॉलेशन में कुछ गड़बड़ है । यदि आपने दोनों pythonऔर djangoका उपयोग कर स्थापित किया है apt-get, तो djangoनिश्चित रूप से pythonऊपर की तरह गंदे हैक्स के बिना पथ पर होना चाहिए ।

कहा कि, जब Django के साथ काम करते हैं, तो आपका सबसे अच्छा दांव उपयोग नहीं करना है, apt-getलेकिन उपयोग करके एक आभासी वातावरण बनाएं virtualenv(आप virtualenvखुद का उपयोग करके स्थापित कर सकते हैं apt-get), और Django और अन्य मॉड्यूल को स्थापित करें जो आपके Django साइट pipको आभासी वातावरण के भीतर उपयोग करने की आवश्यकता हो सकती है। इस तरह से आप कई Django प्रोजेक्ट्स को साइड में रख सकते हैं, ठीक इसके साथ पायथन मॉड्यूल और संस्करणों की आवश्यकता होती है। यह करने के लिए बस कुछ अतिरिक्त कदम हैं, लेकिन निश्चित रूप से इसके लायक है और भविष्य में आपको बहुत हताशा से बचाएगा।


आप अपने कोड में सीधे sys.path.append ('पथ / to / django') का उपयोग करके पथ को जोड़ सकते हैं, फिर सामान्य रूप से आयात करें
NGRhodes

@NGRhodes कोड में हार्डकोडिंग पथ एक अच्छा विचार नहीं है।
जूनोस

हमेशा कॉन्फ़िगरेशन आइटम से पथ पढ़ सकता है ताकि इसकी रनटाइम सेटिंग :)
NGRhodes

4

मुझे एक ही समस्या थी जब मैं Django प्रोजेक्ट बनाने के लिए PyCharm सामुदायिक संस्करण का उपयोग कर रहा था।

मेरे लिए, निम्न चरणों ने काम किया:

यह पता चला है कि अजगर चाहता है कि आप एक आभासी वातावरण बनाएं, उसमें django स्थापित करें और फिर सर्वर चलाएं। यह करने के लिए,

एक आभासी वातावरण बनाएँ

1) आभासी वातावरण का उपयोग कर स्थापित करें pip install virtualenv

2) प्रोजेक्ट फ़ोल्डर में नेविगेट करें और टाइप करें virtualenv env(यहां envवर्चुअल वातावरण का नाम है।) यह envप्रोजेक्ट फ़ोल्डर के अंदर नाम का एक नया फ़ोल्डर बनाएगा ।

3) env/Scriptsका उपयोग कर अपने प्रोजेक्ट फ़ोल्डर के अंदर नेविगेट करें ।cd env/Scripts

4) टाइप करें activateऔर एंटर दबाएं। यह आभासी वातावरण शुरू करना चाहिए। आप इसे सत्यापित कर सकते हैं क्योंकि यह आपके वर्तमान पथ के लिए उपसर्ग होगा।(env)

Django स्थापित करें

1) एक बार आभासी वातावरण के अंदर, अपने प्रोजेक्ट फोल्डर का उपयोग करके वापस cd ../..टाइप करें pip install django

2) आप टाइप करके इसकी स्थापना को सत्यापित कर सकते हैं django-admin --version। यह वर्चुअल वातावरण के अंदर स्थापित django वर्जन नंबर को प्रदर्शित करना चाहिए।

अब python manage.py runserverअजगर सर्वर शुरू करने के लिए टाइप करें।


0

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

  1. आभासी वातावरण और अजगर संस्करण को सरल स्थापित करें
  2. वर्चुअलाइजेशन बनाने के लिए virtualenv env का उपयोग करें।
  3. अपने virtualenv को सक्रिय करें। का उपयोग कर। / Env_name / bin / सक्रिय
  4. उपयोग पाइप स्थापित django == 1.70 (django स्थापित करने के लिए संस्करण निर्दिष्ट करें)
  5. सभी स्थापित पैकेजों को सूचीबद्ध करने के लिए पाइप सूची।

0

मुझे यह समस्या है और अभी भी मेरे प्रोजेक्ट में हाल तक यह था कि vscode मेरे आभासी वातावरण को नहीं पहचानता था, इसलिए जब भी मैं इस परियोजना को चलाने की कोशिश करता हूँ तो यह मुझे एक त्रुटि देता है कि vscode django आयात नहीं कर सकता

मेरे लिए यह तय है कि मैंने अपने आभासी वातावरण में पुस्तकालयों को भरकर निर्यात किया

pip freeze > req.txt

तब मैंने उसी आवश्यकताओं के साथ एक नया आभासी वातावरण बनाया, और यह काम किया

नोट: इस अजगर पर्यावरण को देखने की कोशिश करें


0

मैंने उसी समस्या का सामना किया। मैंने वर्चुअल वातावरण $ स्रोत बिन / सक्रिय को सक्रिय कर दिया है

उसके बाद इसने मुझे Django का संस्करण दिखाया

कुछ भी स्थापित करने की आवश्यकता नहीं थी।


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: django नाम का कोई मॉड्यूल नहीं

mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version

कमांड 'django-admin' नहीं मिला, लेकिन इसके साथ स्थापित किया जा सकता है:

sudo apt install python-django-common

mamata @ mamta-inspire-all: ~ / dodjango $ source बिन / सक्रिय

(dodjango) ममता @ ममता-प्रेरणा-सभी: ~ / dodjango $ ls

बिन में शामिल हैं lib lib64 mamusite pyvenv.cfg शेयर

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version 2.2.5

(डोडजैंगो) ममता @ ममता-इंस्पायर-ऑल: ~ / डोडजंगो $ पाइथन-एम डजंगो - २.२.५



AskUbuntu की कुछ मदद से उत्तर को संपादित करने का प्रयास करें।
निमिशयन

-1

मुझे यह समस्या तब हुई है जब मैंने PyCharm में प्रोजेक्ट फ़ोल्डर का नाम बदला।

  1. वर्चुअल वातावरण ( venvफ़ोल्डर) में टर्मिनल टैब मिलना बंद हो गया । इसे ठीक करने के लिए, मैं Settings -> Project -> Projectइंटरप्रेटर के पास गया और वहां फ़ोल्डर बदल दिया।
  2. Django "गायब हो गया"। django-admin --versionप्रतिक्रिया नहीं दी। ठीक करने के लिए, मैंने pip install djangoभीतर किया venv

यह मदद करता है।

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