संभव डुप्लिकेट:
pip install PIL -E TICKETS-1 - No JPEG/PNG supportजनहित याचिका एनकोडर jpeg उपलब्ध नहीं
मैं एक तस्वीर काटने वाला पर काम कर रहा हूँ, और मैं अपने फ़ॉर्म सत्यापन में समस्या आ रही। प्रपत्र जब एक GIF चित्र अपलोड करने मान्य है, लेकिन किसी भी अन्य प्रारूप मैं कोशिश निम्न अपवाद को जन्म देती है:
Upload a valid image. The file you uploaded was either not an image or a corrupted image.
फार्म
<form enctype="multipart/form-data" method="post" action="/pic/">{% csrf_token %}
{{ form.as_p }}
<p><input type="submit" value="View uploaded image"></p>
<input type="hidden" name="stage" value="crop">
</form>
देखें
if request.method == 'POST':
form = ProfilePicForm(request.POST, request.FILES)
if form.is_valid():
*do stuff*
else:
logger.debug('Form errors == [%s]' % form.errors)
मेरे पास है पीआईएल स्थापित करने से पहले libjpeg-dev (apt-get का उपयोग करके) स्थापित करें (easy_install का उपयोग करके)। सबसे पहले, मैंने सोचा कि यह libjpeg-dev या PIL की गलत स्थापना के कारण हो सकता है, लेकिन क्या समस्या अन्य प्रारूपों जैसे पीएनजी के लिए बनी रहेगी? यह समस्या वास्तव में पीएनजी छवियों के लिए भी होती है। मुझे एक जेपीईजी डिकोडर समस्या नहीं मिल रही है, इसलिए मुझे लगता है कि यह ऐसा नहीं है, लेकिन मुझे यकीन नहीं है। इसके अलावा, मैं django विकास सर्वर का उपयोग कर रहा हूँ।
अद्यतन
मैं जनहित याचिका की पुनर्स्थापना की कोशिश करने का फैसला किया। मैंने अपना पीआईएल इंस्टॉल फ़ोल्डर /usr/local/lib/python2.7/dist-packages/PIL
और मेरी पीआईएलपीएच फ़ाइल (उसी डिस्ट-पैकेज फ़ोल्डर में) हटा दिया। मैंने sudo python setup.py install
का उपयोग कर setup.py स्क्रिप्ट चलाया। मैं तो selftest.py स्क्रिप्ट चलाने पर है, और यह पहला परीक्षण पर विफल रहता है:
--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY
--------------------------------------------------------------------
Python modules loaded from ./PIL
Binary modules loaded from ./PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
*** FREETYPE2 support not installed
--- LITTLECMS support ok
--------------------------------------------------------------------
Running selftest:
*****************************************************************
Failure in example:
try:
_info(Image.open(os.path.join(ROOT, "Images/lena.jpg")))
except IOError, v:
print v
from line #24 of selftest.testimage
Expected: ('JPEG', 'RGB', (128, 128))
Got: decoder jpeg not available
1 items had failures:
1 of 57 in selftest.testimage
***Test Failed*** 1 failures.
*** 1 tests of 57 failed.
मुझे यकीन है कि कैसे जनहित याचिका ऊपर सूचीबद्ध असमर्थित मॉड्यूल के साथ काम करने के लिए प्राप्त करने के लिए नहीं कर रहा हूँ। मैं सत्यापित कर सकता हूं कि मेरे पास zlib1g-dev, libfreetype6-dev, liblcms1-dev और libjpeg62-dev है, और पुस्तकालय स्वयं को मेरे सिस्टम पर स्थापित करते हैं क्योंकि जब मैं उन्हें एपीटी-प्राप्त के साथ स्थापित करने का प्रयास करता हूं, तो यह कहता है कि मेरे पास पहले से ही नवीनतम संस्करण है ।
क्या आप इसे ' libjpeg स्थापित है? आमतौर पर पीएनजी _will_ भी समस्या के मामले में काम करते हैं। – c4urself
जब मैं sudo apt-get run libjpeg-dev चलाता हूं, आउटपुट कहता है libjpeg62-dev पहले से ही नवीनतम संस्करण है। क्या पीआईएल और libjpeg-dev सही ढंग से काम कर रहे हैं यह सत्यापित करने का कोई और तरीका है? –
जांचें कि आपके पास क्या है: zlib1g-dev, libfreetype6-dev, liblcms1-dev और libjpeg62-dev, + पुस्तकालय स्वयं। एक पीआईएल स्थापित करने के बाद – ashwoods