2015-01-19 8 views
5

के साथ mod_wsgi पर django python 3.4 चल रहा है नमस्ते मुझे ubuntu सर्वर 14.10 पर वेबसाइट यूआरएल पर जाने पर त्रुटि त्रुटि मिल रही है mod_wsgi और django पर पायथन के साथ apache 2 चल रहा है।apache2

मेरा डीजेंगो एप्लिकेशन पायथन 3.4 का उपयोग करता है लेकिन ऐसा लगता है कि यह अजगर 2.7 के लिए डिफ़ॉल्ट हो रहा है, मैं पीआईएल और एईएस से पिक्रिप्टो से छवि आयात करने में असमर्थ हूं।/
नाम आयात नहीं कर सकते

ImportError पर _imaging
अनुरोध विधि: प्राप्त
अनुरोध URL:
Django संस्करण: 1.7.3
अपवाद प्रकार: ImportError
अपवाद मान:
आयात नहीं कर सकते नाम _imaging
अपवाद स्थान: में /usr/local/lib/python3.4/dist-packages/PIL/Image.py, रेखा 63
पायथन निष्पादन:/usr/bin/अजगर
अजगर संस्करण: 2.7.6
पायथन पथ:
[ '/ var/www/BL Abla ',
' /usr/local/lib/python3.4/dist-packages ',
' /usr/lib/python2.7 ',
' /usr/lib/python2.7/plat-x86_64 -linux-gnu ',
' /usr/lib/python2.7/lib-tk ',
' /usr/lib/python2.7/lib-old ',
' /usr/lib/python2.7/lib-dynload ',
' /usr/local/lib/python2.7/dist-packages ',
' /usr/lib/python2.7/dist-packages ',
'/var/www/blabla ',
' /usr/local/lib/python3.4/dist-packages ']

+1

हाँ। Python 2.7 का उपयोग कर इसके बारे में कोई संदेह नहीं है। Mod_wsgi का उपयोग करने के लिए आपने अपाचे साइट को कैसे कॉन्फ़िगर किया है? क्या आप अपनी साइट कॉन्फ़िगरेशन पोस्ट कर सकते हैं? –

उत्तर

8

मेरा मानना ​​है कि mod_wsgi को अजगर के एक विशिष्ट संस्करण के विरुद्ध संकलित किया गया है, इसलिए आपको mod_wsgi के py3.4 संस्करण की आवश्यकता है। आप अपने ओएस के पैकेज भंडार से एक प्राप्त करने में सक्षम हो सकते हैं या आप बिना किसी नाटक के एक बना सकते हैं। स्मृति से आपको बनाने के लिए जीसीसी और पायथन-देव पैकेज (पायथन 3-देव?) की आवश्यकता होगी।

उबंटू 14.10: sudo apt-get install libapache2-mod-wsgi-py3 के लिए ठीक, त्वरित Google, mod_wsgi का एक py3 संस्करण स्थापित करना चाहिए (शायद मौजूदा py2 संस्करण को हटाना होगा)।

शेबैंग लाइन जोड़ना कोई अच्छा नहीं होगा क्योंकि wthi.py स्क्रिप्ट पढ़ने से पहले पाइथन दुभाषिया पहले ही लोड हो चुका है।

+0

लाइफसेवर उत्तर। मैंने इसे समझने की कोशिश में 4 घंटे बिताए। –

0

जो मैं यहां देखता हूं उससे आपका आवेदन py2पीई 3 संकलित मॉड्यूल के साथ दुभाषिया का उपयोग कर रहा है, जो कि नहीं है।

एक आसान संभावित समाधान जो मुझे दिमाग में आता है प्रबंधन.py से #!/usr/bin/python3 की पहली पंक्ति को जोड़ने या बदलने के लिए है। यह स्क्रिप्ट को py3 के साथ व्याख्या करने के लिए बताएगा।

अनुमान सूची पर अगला * .wsgi फ़ाइल या अपाचे कॉन्फ़िगरेशन में गलत कॉन्फ़िगरेशन होगा, जो भी आप उपयोग कर रहे हैं।

+0

अपाचे कॉन्फ़िग: DocumentRoot/var/www/html \t \t WSGIDaemonProcess SampleApp अजगर-पथ =/प्रोजेक्ट फ़ोल्डर/MITLogger: /usr/local/lib/python3.4/dist-packages \t WSGIProcessGroup SampleApp \t WSGIScriptAlias ​​//प्रोजेक्ट फ़ोल्डर/MITLogger/MITLogger/wsgi.py \t \t <निर्देशिका/प्रोजेक्ट फ़ोल्डर/MITLogger/MITLogger> \t <फ़ाइलें wsgi.py> \t सभी दी की आवश्यकता होती है \t \t – user3823837

+0

wsgi.py: आयात os, sys # sys.path sys.path.append ('/ project folder/mITLogger') # में hellodjango प्रोजेक्ट पथ जोड़ें sys के वर्चुअलनव साइट-पैकेज पथ जोड़ें .path sys.path.append ('/ usr/स्थानीय/lib/python3.4/जिले-संकुल') os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "MITLogger.settings") django.core से .wsgi आयात get_wsgi_application एप्लिकेशन = get_wsgi_application() – user3823837

0

धन्यवाद दोस्तों,

मैं वास्तव में मेकअप .configure python3.4 की ओर इशारा करते के साथ mod_wsgi की स्थापित चलाकर अपने आप को आज सुबह समस्या का समाधान हो।

मुझे लगता है कि आप सही एडम थे।

+0

हाँ, मुझे यकीन है कि बस WSGIPythonHome बदल रहा है काम नहीं करता है। हालांकि वर्चुअलएन्व का चयन करना उपयोगी है। अगर आप इसे मानते हैं तो मेरे उत्तर को सही के रूप में चिह्नित करें :-) –

+0

कुछ साफ़ करने के लिए - यहां एक और जवाब था जो 'WSGIPythonHome' को बदलने का सुझाव देता है। 'WSGIPythonHome' दुभाषिया का चयन करेगा, लेकिन केवल तभी काम करेगा जब mod_wsgi को उस पायथन के समान/मामूली संस्करण के विरुद्ध संकलित किया गया है जिसे आप इंगित कर रहे हैं। –

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