मैं पायथन इमेजिंग लाइब्रेरी (PIL) कैसे स्थापित करूं?


35

मैं उबंटू पर पायथन इमेजिंग लाइब्रेरी (पीआईएल) कैसे स्थापित करूं?

मैंने करने की कोशिश की

sudo apt-get install python-imaging

लेकिन अब जब मैं python selftest.py (एक स्क्रिप्ट जो मुझे कहीं से http://pythonware.com/products/pil/ वेबसाइट पर मिलती है) चलाता हूं तो मुझे मिलता है (अन्य चेतावनी संदेशों के बीच):

...
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
...
*** 1 tests of 57 failed.

क्या मैंने किसी तरह जनहित याचिका में गड़बड़ी की है - मैं इसे कैसे ठीक करूं?

क्या शायद PIL ठीक है, लेकिन यह कि "selftest.py" वास्तव में यह देखने के लिए जाँच का सही कार्यक्रम नहीं है कि क्या PIL ठीक से स्थापित है - और मैं कैसे बता सकता हूँ कि PIL ठीक से स्थापित है या नहीं?

(मैं Ubuntu 12.04 LTS "सटीक पैंगोलिन" का उपयोग कर रहा हूं)।

(जो मैं अंततः करने की कोशिश कर रहा हूं वह कुछ अजगर कोड में एक 2 डी बारकोड जनरेटर को जोड़ने के लिए है, और सभी 2 डी बारकोड जनरेटर मुझे मिल सकते हैं जो अजगर में लिखे गए थे सभी पीआईएल का उपयोग करते हुए लग रहे थे)।


2
आप एक आवेदन में जनहित याचिका का उपयोग करने की कोशिश कर सकते हैं, बस selftest.py के
हारून हिल

1
18.04 में यह दिखता है कि आप बस करते हैं sudo apt-get install python-pilया sudo apt-get install python3-pil
शूल

^ निश्चित रूप से, sudo apt-get install python-pilबस मेरे लिए रास्पियन पर काम किया।
ऐलेक्सी

जवाबों:


25

मेरे साथ भी कुछ ऐसा ही हुआ, मैंने इस तरह से हल किया

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

और वहाँ के माध्यम से स्थापित करने का प्रयास करें pip install PIL

यहां जोpip पाया जा सकता है, उस पर और अधिक । संक्षेप में अजगर पुस्तकालयों को स्थापित करने का एक सुविधाजनक (और एक मानक) तरीका है।

यदि यह विफल रहता है, तो यह पीआईएल के कारण उन पुस्तकालयों को एक अलग रास्ते में खोज सकता है।

यह पता चला है कि एपीटी इंस्टॉलेशन ने पुस्तकालयों को / usr / lib / x86_64-linux-gnu के तहत रखा है और PIL उन्हें / usr / lib / में खोजेगा । इसलिए आपको उन्हें देखने के लिए PIL के लिए सहानुभूति बनानी होगी।

यह देखने की कोशिश करें कि क्या libjpeg और libz libs / usr / lib / x86_64-linux-gnu में मौजूद हैं और इस तरह से सिमिलिंक बनाते हैं

sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/

स्रोत: http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/


यह मेरे लिए Ubuntu 12.04 64bit पर काम नहीं किया।
गस ई

1
यदि यह आपकी आवश्यकताओं को पूरा करता है, तो आप 'तकिया' की कोशिश कर सकते हैं। यह पीआईएल के प्रतिस्थापन में एक गिरावट है।
हर्नांट्ज

7
जब भी संभव हो, उपयोग करें pillow। यह अनिवार्य रूप से पीआईएल है, लेकिन वास्तव में बनाए रखा गया है।
ठाणे ब्रिमहल

पैकेज zlib1g-dev उपलब्ध नहीं है, लेकिन इसे किसी अन्य पैकेज द्वारा संदर्भित किया जाता है। इसका मतलब यह हो सकता है कि पैकेज गायब है, ऑब्सोलेट किया गया है, या केवल किसी अन्य स्रोत से उपलब्ध है E: पैकेज libjpeg को खोजने में असमर्थ E: पैकेज libjpeg-dev E का पता लगाने में असमर्थ: पैकेज libfreetype6-dev E: पैकेज 'zlib1g का पता लगाने में असमर्थ -देव 'के पास कोई स्थापना उम्मीदवार नहीं है
आलोक

उबंटू 12.04 LTS में अजगर-इमेजिंग पैकेज JPEG लाइब्रेरी से जुड़ा हुआ है, और चेंगलॉग ने मल्टीकार को जुलाई 2011 से पहले तोड़ने का उल्लेख किया है। हो सकता है कि यह इस selftest.pyवजह से भी टूट गया हो, लेकिन यह जरूरी नहीं कि कुछ और प्रभावित करे।
जोसिफ रॉडिन

30

उपरोक्त समाधान मेरे लिए उबंटू 12.10 पर काम नहीं किया क्योंकि libjpeg रिपॉजिटरी में उपलब्ध नहीं था।

मेरे लिए काम करना आखिर क्या था:

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

यदि आपको त्रुटि मिलती है "आपको अपने स्रोतों में कुछ 'स्रोत' यूआरआई डालने होंगे। तो" सुनिश्चित करें कि आपकी /etc/apt/sources.list में डीब-src प्रविष्टियाँ हैं जो आपकी डेब्यू प्रविष्टियों से मेल खाती हैं।

फिर आपको अपने सर्वर पर उनके वास्तविक स्थान से फ़ाइलों को उस स्थान पर सिमिल करना होगा जहां पीआईएल उन्हें उम्मीद करता है।

32-बिट संस्करण

sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

64-बिट संस्करण

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

आखिरकार, pip install PIL

सफलता!

यहाँ छवि विवरण दर्ज करें


अद्यतन सितम्बर 2014

पिलो पीआईएल का अधिक आधुनिक कांटा है।

#jpeg support
sudo apt-get install libjpeg-dev
#tiff support
sudo apt-get install libtiff-dev
#freetype support
sudo apt-get install libfreetype6-dev
#openjpeg200support (needed to compile from source)
wget http://downloads.sourceforge.net/project/openjpeg.mirror/2.0.1/openjpeg-2.0.1.tar.gz
tar xzvf openjpeg-2.0.1.tar.gz
cd openjpeg-2.0.1/
sudo apt-get install cmake
cmake .
sudo make install
#install pillow
pip install pillow

1
13.04 पर पिलो के साथ, बिना सहानुभूति के मेरे लिए काम करता है।
यूजीन नागोर्नी

2
मेरे लिए भी काम किया (14.04 LTS 64-बिट, ऊपर से अनमॉडिफ़ाइड): sudo apt-get build-dep python-इमेजिंग sudo apt-get install-libjpeg62 libjpeg62-dev
पीटर

मुझे बस "apt-get build-dep-
python-

13

मैं बस यह जोड़ना चाहता हूं, कि pip install pilअब काम नहीं करता है, कम से कम मेरी मशीन पर, आपको करना होगा

pip install PIL --allow-external PIL --allow-unverified PIL


5
pip install Pillowइसके बजाय प्रयास करें pip install pill(उत्तरार्द्ध मौजूद नहीं है)
aclark

@ लियोनोब यह पीआईएल के समान है? और TkInker द्वारा सपोर्ट किया गया है?
3kstc

@ 3kstc हाँ यह है
लिनोब

4

उपरोक्त उत्तर x86 स्थानों में x64 पुस्तकालयों के लिए लिंक बनाते हैं। इसके बजाय मैं पीआईएल स्रोत को डाउनलोड करूंगा और फिर सेटअप लाइन में इन पंक्तियों को जोड़ दूंगा:

    add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
    add_directory(library_dirs, "/lib/x86_64-linux-gnu")

इन लाइनों के बाद (~ लाइन 211)

    # standard locations
    add_directory(library_dirs, "/usr/local/lib")
    add_directory(include_dirs, "/usr/local/include")

    add_directory(library_dirs, "/usr/lib")
    add_directory(include_dirs, "/usr/include")

PIL को फिर से स्थापित करें। यदि आप पाइप का उपयोग कर रहे हैं:

pip uninstall PIL

फिर स्रोत निर्देशिका चलाने से:

python setup.py install

2

यह समाधान मेरे लिए Ubuntu 14.04 पर काम करता है क्योंकि libjpeg रिपॉजिटरी में उपलब्ध नहीं था।

मेरे लिए काम करना क्या खत्म हो गया

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

2

sudo apt-get install python-imagingअब पिलो स्थापित करता है पीआईएल नहीं । इसके लिए selftest.py, आपको इसे चलाने के लिए स्रोत की जाँच करने की आवश्यकता हो सकती है। और निश्चित रूप से, यदि आप पीआईएल का समर्थन करना चाहते हैं, तो आपको निर्भरता स्थापित करने की आवश्यकता है

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

PIL का एक संस्करण चलाने के लिए, Ubuntu में शामिल है:

pip install Pillow

2

मुझे 14.04 पर एक virtualenv में तकिया स्थापित करने की आवश्यकता है (सिस्टम संकुल का उपयोग नहीं)।

एक virtualenv (पायथन 2.7) के अंदर PyPI से तकिया बनाने के लिए:

$ sudo apt-get build-dep pillow
$ virtualenv venv
$ source venv/bin/activate
(venv)$ pip install pillow

... तो आप पीआईएल आयात कर सकते हैं ।

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