ऐसा लगता है कि आप अपने ऐप को अजगर 2.x के साथ चला रहे हैं, लेकिन आपके ऐप द्वारा उपयोग किए जाने वाले मॉड्यूल अजगर 3.x से हैं। विशेष रूप से, pymongo
मॉड्यूल आयात करने का प्रयास कर रहा है urllib.parse
, जिसे urlparse
. कहा जाता था पायथन 2.x में। परिणामस्वरूप, import urllib.parse
executing क्रियान्वित किया जा रहा है अजगर 2.x के साथ एक ImportError का कारण बनता है।
आपने अपने आभासी वातावरण को कैसे सक्रिय किया?
टिप्पणी का जवाब:
कोई बात नहीं। आपके वर्चुअल एनवी के अंदर पाइमोंगो कोड वह है जो आपके मोंगोडब सर्वर (एक निर्दिष्ट पोर्ट का उपयोग करके) से जुड़ता है।
टिप्पणी का जवाब #2:
हां, आपकी साइट अजगर 2.x के साथ निष्पादित होने के दौरान ठीक काम करती है, लेकिन जब आप डीबी का उपयोग करना शुरू करते हैं, तो आप मॉड्यूल का उपयोग कर रहे हैं जो पाइथन 3.x के अंदर पुस्तकालयों को आयात करने का प्रयास करते हैं। परिणामस्वरूप, यदि आप अपनी साइट को निष्पादित करने के लिए अजगर 2.x का उपयोग करना जारी रखते हैं, तो आप डीबी का उपयोग नहीं करने जा रहे हैं।
इसे आजमाएं:
1) अपने वर्चुअल वातावरण वाली निर्देशिका पर जाएँ:
$ cd /some/path/to/venv
2) सभी फाइलों की सूची बनाएं:
$ ls
3) बिन निर्देशिका में बदलें:
$ cd bin
4) सभी फाइलों की सूची बनाएं:
$ ls
5) फ़ाइल खोलें activate_this.py
और टिप्पणियों को शीर्ष पर पढ़ें, उदा.
$ vi activate_this.py
6) मेरे द्वारा अपनी पिछली प्रतिक्रिया में पोस्ट किए गए फ्लैश डॉक्स के लिंक पर क्लिक करें और वहां सामग्री को फिर से पढ़ें।