2009-07-23 23 views
11

Google App Engine SDK.Python 2.6 को स्थापित किया गया। छवियों में जाने और स्थानीय स्तर पर परीक्षण करना चाहता था। स्थापित पीआईएलपायथन पीआईएल लाइब्रेरी को खोजने में असमर्थ। Google ऐप इंजन

स्थापित पायथन, फिर पीआईएल इंस्टॉल चलाया, इस बार काम किया।

हालात अच्छा लग रहा था, लेकिन स्थानीय होस्ट छवि हेरफेर करने का प्रयास कर देता है:

"NotImplementedError: Unable to find the Python PIL library. Please 
view the SDK documentation for details about installing PIL on your system." 

सिस्टम: WinXP

उत्तर

3

हम शायद अधिक जानकारी की आवश्यकता के लिए जा रहे हैं, तो यहाँ कुछ सवाल और करने के लिए चीजें हैं प्रयत्न।

आप पीआईएल तक पहुंचने की कोशिश कैसे कर रहे हैं? क्या आप google.appengine.api.images मॉड्यूल, या पीआईएल का उपयोग सीधे करने की कोशिश कर रहे हैं? यह पूर्व की तरह लगता है, लेकिन यह स्पष्ट नहीं है।

क्या आपने the App Engine instructions का पालन किया था?

पोस्ट कोड, यदि आप कर सकते हैं।

शायद कोशिश करने की सबसे महत्वपूर्ण बात: देखें कि क्या आप एक गैर-ऐप इंजन स्क्रिप्ट से पीआईएल का उपयोग कर सकते हैं। बस एक त्वरित पायथन लिपि लिखें जो इसे एक्सेस करे और देखें कि यह कैसा चल रहा है। यदि वह काम नहीं करता है

import Image 
im = Image.open('filename.png') 
im.show() 

, यह आश्चर्य की बात नहीं है कि गूगल एप इंजन जनहित याचिका के साथ काम नहीं होगा: की तरह।

+0

कोड: आयात छवि // AppEngine स्क्रिप्ट त्रुटि <प्रकार 'exceptions.ImportError' >: छवि – benasio

+0

नामक कोई मॉड्यूल यह सुझाव देता है कि पीआईएल ठीक तरह से स्थापित नहीं है। यह या तो नहीं है, या पायथन के मॉड्यूल खोज पथ पर नहीं। यदि आप नियमित रूप से पाइथन खोज पथों में हेरफेर नहीं करते हैं, तो मैं सुझाव देता हूं कि पीआईएल को हटाने और इसे फिर से इंस्टॉल करने के लिए, –

+0

// मूल कोड आयात छवि im = Image.open (' filename.png ') im.show() ////////// त्रुटि <प्रकार' अपवाद। आयात करें '>: छवि का नाम नहीं मॉड्यूल – benasio

4

जहां तक ​​मुझे पता है कि Google AppEngine सीधे पीआईएल का उपयोग करने की अनुमति नहीं देता है, लेकिन इसके बजाय सीमित Images API प्रदान करता है।

यह आकार बदल सकता है/घुमाने/फसल और छवियों को फ्लिप कर सकते हैं। Picasaweb क्या कर सकता है कम या ज्यादा। लेकिन यह नए चित्र नहीं बना सकते या पाठ आदि निम्नलिखित python2.5 साथ Ubuntu पर जोड़ने, ड्राइंग

+1

यह 2.7 रिलीज के बाद से तय किया गया है। मेरा सहयोगी पीआईएल का सफलतापूर्वक उपयोग करने में सक्षम था, हालांकि यह ऐप इंजन पर मानक वितरण था। – mvanveen

3

की तरह जटिल कर सकते हैं मदद करता है:

नई रेपो: ppa.launchpad.net/fkrull/deadsnakes/ubuntu

sudo स्थापित apt-get python2.5 python2.5-देव libjpeg62 libjpeg62-देव

अनटार: http://effbot.org/media/downloads/Imaging-1.1.6.tar.gz

सीडी इमेजिंग-1.1.6

,210

संपादित setup.py लाइन 38: JPEG_ROOT = libinclude ("/ usr/lib")

sudo python2.5 स्थापित setup.py आप स्पष्ट अपने GAE लॉग खिड़की (यह मानते हुए हैं

हो गया

+0

यह बहुत अच्छा काम करता है –

+0

यह ऐप इंजन पर भी लागू नहीं होता है। – mvanveen

+0

हालांकि, उबंटू के साथ कुछ बदल गया है। – noiv

1

आप लॉन्चर का उपयोग कर रहे हैं) फिर अपने सर्वर को पुनरारंभ करें, आप लॉग में कुछ देख सकते हैं। मेरे मामले में मैं

 
    WARNING 2011-01-27 21:04:11,856 dev_appserver.py:3698] 
Could not initialize images API; you are likely missing the Python "PIL" module. 
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart 
    Referenced from: /Library/Python/2.6/site-packages/PIL/_imaging.so 

मिला तो मैं कह सकता है कि मैं जेपीईजी पुस्तकालय के साथ काफी अच्छी तरह से लिंक नहीं किया था।

9

मैंने पीआईएल काम करने के लिए कुछ समय लगाया।मुख्य रूप से, क्योंकि मैं YAML फ़ाइल में लोड करने के लिए एप्लिकेशन इंजन बताना भूल गया:

libraries: 
    - name: PIL 
    version: 1.1.7 

हो सकता है कि इस कदम स्पष्ट है, लेकिन मैं नहीं देखा यह गूगल प्रलेखन पर अच्छी तरह से प्रलेखित है और मैं संदेशों के सभी प्रकार है कि यहाँ बताते हुए पाया पीआईएल ऐप इंजन पर उपलब्ध नहीं था। मैं पुष्टि करना चाहता हूं कि पीआईएल ऐप इंजन पर चल रहा है।

+0

मैंने उपरोक्त के साथ वैश्विक स्तर पर 'पाइप इंस्टॉल पिल्लो' भी चलाया और अब सबकुछ काम करता है! :) मैंने इसे [जीएई छवियों पायथन एपीआई अवलोकन] पर पाया (https://cloud.google.com/appengine/docs/python/images/?csw=1)। कोड स्निपेट के नीचे '★ नोट' देखें। –

0

मैं Windows मशीन पर एक ही मुद्दा आई है और उसके बाद मैं App इंजन डॉक्स में नोटिस दिया है:

नोट: छवियाँ एपीआई के अलावा, आप भी रूपांतरण प्रदान की उपयोग कर सकते हैं पाइथन इमेजिंग लाइब्रेरी (पीआईएल) में आपके पायथन 2.7 ऐप में। आप बस app.yaml फ़ाइल के पुस्तकालय अनुभाग में लाइब्रेरी घोषित करते हैं। हालांकि, अगर आप अपने स्थानीय पर्यावरण (विकास सर्वर का उपयोग करके) में पीआईएल का उपयोग करना चाहते हैं तो आपको स्थानीय स्तर पर download and install PIL या तकिया भी होना चाहिए।

तो बस download PIL और यह काम करेगा। यह मैं ही था के बाद

sudo pip install Pillow pyyaml 

:

3

OSX 10.11.6 और अजगर 2.7.13 के लिए मैं उन्हें लेने के लिए pyyaml का शुभारंभ किया API सर्वर के लिए आदेश में विश्व स्तर पर Pillow के अलावा स्थापित करने के लिए की जरूरत विशेष रूप से, app.yaml पुस्तकालयों में जनहित याचिका संस्करण 1.1.7 जोड़ने भले ही तकिया संस्करण 1.1.7 नहीं था:

libraries: 
- name: PIL 
    version: 1.1.7 

तरह से मैंने पाया कि मैं yaml पुस्तकालय याद आ रही थी इस टिप्पणी में और अधिक विस्तार में वर्णित है:

PIL cannot be found

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