Python görüntüleme kütüphanesini (PIL) nasıl kurarım?


35

Python görüntüleme kütüphanesini (PIL) Ubuntu'ya nasıl kurarım?

Yapmaya çalıştım

sudo apt-get install python-imaging

ama şimdi python selftest.py'yi çalıştırdığımda ( http://pythonware.com/products/pil/ web sitesinde bir yerden aldığım bir komut dosyası ) alıyorum (diğer uyarı mesajlarının yanında):

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

PIL’i bir şekilde batırdım mı - nasıl düzeltebilirim?

Belki de PIL gayet iyi, ama "selftest.py", PIL'in doğru kurulup kurulmadığını kontrol etmek için gerçekten doğru bir program değil - PIL'in doğru kurulup kurulmadığını nasıl anlayabilirim?

(Ubuntu 12.04 LTS "Precise Pangolin" kullanıyorum).

(Nihayetinde yapmaya çalıştığım şey, bazı python kodlarına 2D barkod üreteci eklemek ve python ile yazılmış olan tüm 2D barkod jeneratörlerini PIL kullanıyormuş gibi görünüyor).


2
Bir uygulamada PIL kullanmayı denemek isteyebilirsiniz, sadece selftest.py
Aaron Hill

1
18.04'te, sadece sudo apt-get install python-pilya da yaptığınız gibi görünüyor sudo apt-get install python3-pil.
Shule

^ Kesinlikle, sudo apt-get install python-pilsadece benim için raspbian'da çalıştı.
alecxe

Yanıtlar:


25

Bana da benzer bir şey oldu, bu şekilde çözdüm.

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

Ve orada yüklemeyi deneyin pip install PIL.

Buradapip bulunanlar hakkında daha fazla bilgi . Kısacası, python kütüphanelerini kurmanın uygun (ve standart hale gelen) yoludur.

başarısızlığa devam ederse, PIL bu kütüphaneleri farklı bir yolda aramaya başlamış olabilir.

APT kurulumlarının kütüphaneleri / usr / lib / x86_64-linux-gnu altına koyduğu ve PIL'in / usr / lib / içinde onları arayacağı ortaya çıktı . Bu yüzden PIL'in onları görmesi için sembolik bağlantılar oluşturmalısınız.

Libjpeg ve libz lib'lerinin / usr / lib / x86_64-linux- gnu'da var olup olmadığını görmeye çalışın ve bu şekilde bir bağlantı kurun

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/

Kaynak: http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/


Bu benim için Ubuntu 12.04 64bit'te işe yaramadı.
Gus E

1
ihtiyaçlarınızı karşılarsa, 'yastığınızı' deneyebilirsiniz. PIL yerine bir damladır.
Hernantz

7
Mümkün olduğunda kullanın pillow. Temelde PIL ama aslında korunur.
Thane Brimhall

Zlib1g-dev paketi kullanılamaz, ancak başka bir paket tarafından belirtilir. Bu, paketin eksik olduğu, eski olduğu veya yalnızca başka bir kaynaktan alınabileceği anlamına gelebilir E: paket bulunamıyor libjpeg E: paket bulunamıyor libjpeg-dev E: paket bulunamıyor libfreetype6-dev E: Paket 'zlib1g -dev 'kurulum adayı yok
Aalok

Ubuntu 12.04 LTS'deki python-görüntüleme paketi JPEG kütüphanesine bağlanmıştır ve değişikliklerin Temmuz 2011'den önce çok laftan kırıldığından bahsettiği belirtilmiştir selftest.py.
Josip Rodin,

30

Yukarıdaki çözüm benim için Ubuntu 12.10'da işe yaramadı çünkü libjpeg depoda mevcut değildi.

Benim için çalışmaya son veren şey şuydu:

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

"Kaynaklar.listenize bazı 'kaynak' URI'leri koymalısınız" hatasını alırsanız /etc/apt/sources.list'in deb girişlerinizle eşleşen deb-src girişleri olduğundan emin olun.

O zaman, dosyaları sunucunuzdaki gerçek konumlarından PIL'in beklediği konuma bağlamanız gerekir.

32 bit sürümü

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 bit sürümü

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

En sonunda, pip install PIL

Başarı!

görüntü tanımını buraya girin


Eylül 2014 Güncellemesi

Yastık, daha modern bir PIL çatalıdır.

#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'te Pillow ile, bağlantı olmadan benim için çalışıyor.
Eugene Nagorny 29:13

2
(yukarıdan 14.04 LTS 64 bit, değiştirilmemiş) benim için çok çalıştı: sudo apt-get build-dep piton görüntüleme sudo apt-get install libjpeg62 libjpeg62-dev
Peter Teoh

Sadece "apt-get build-dep python-görüntüleme" ye ihtiyacım vardı
peterretief

13

Sadece eklemek istiyorum, pip install pilartık işe yaramazsa, en azından makinemde yapmalısın

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


5
pip install PillowBunun yerine deneyin pip install pill(ikincisi yok)
aclark

@Lynob bu PIL ile aynı mı? ve TkInker tarafından destekleniyor?
3kstc

@ 3kstc evet öyle
Lynob

4

Yukarıdaki cevaplar, x86 konumlarındaki x64 kitaplıkları için bağlantılar oluşturur. Bunun yerine PIL kaynağını indirir ve ardından setup.py içine şu satırları eklerdim:

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

bu satırlardan sonra (~ satır 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'i yeniden yükleyin. Pip kullanıyorsanız:

pip uninstall PIL

Ardından kaynak dizinden çalıştırın:

python setup.py install

2

Bu çözüm benim için Ubuntu 14.04'te çalışıyor, çünkü libjpeg depoda mevcut değildi.

Benim için çalışmaya ne oldu

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

2

sudo apt-get install python-imagingşimdi Pillow PIL yüklü değil . Gelince selftest.py, onu çalıştırmak için kaynağı kontrol etmeniz gerekebilir . Ve tabii ki, eğer PIL'in onları desteklemesini istiyorsanız, bağımlılıkları yüklemeniz gerekir.

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

PIL’in Ubuntu’da olduğundan daha yeni bir sürümünü çalıştırmak için:

pip install Pillow

2

Pillow'ı bir sanal aygıtta 14.04'te kurmam gerekiyordu (sistem paketleri kullanmıyordum).

Bir sanalenv içinde PyPI'den yastık oluşturmak için (Python 2.7):

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

... sonra PIL'i içe aktarabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.