Pertanyaan Bagaimana cara menginstal pustaka pencitraan python (PIL)?


Bagaimana cara menginstal pustaka pencitraan python (PIL) di Ubuntu?

Saya coba lakukan

sudo apt-get install python-imaging

tapi sekarang saat aku berlari     python selftest.py (naskah yang saya dapatkan dari suatu tempat di http://pythonware.com/products/pil/ situs web) Saya mendapatkan (di antara pesan peringatan lainnya):

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

Apakah saya entah bagaimana mengacaukan PIL - bagaimana cara memperbaikinya?

Apakah mungkin PIL baik-baik saja, tetapi "selftest.py" itu bukan benar-benar program yang tepat untuk memeriksa apakah PIL terpasang dengan benar - bagaimana lagi saya dapat mengetahui apakah PIL terpasang dengan benar atau tidak?

(Saya menggunakan Ubuntu 12.04 LTS "Precise Pangolin").

(Apa yang akhirnya saya coba lakukan adalah menambahkan generator barcode 2D ke beberapa kode python, dan semua generator barcode 2D yang bisa saya temukan yang ditulis dengan python semua tampaknya menggunakan PIL).


34
2018-06-26 23:03


asal


Anda mungkin ingin mencoba menggunakan PIL dalam aplikasi, mungkin ada masalah selftest.py - Aaron Hill
Pada 18.04 sepertinya Anda baru saja melakukannya sudo apt-get install python-pil atau sudo apt-get install python3-pil. - Shule


Jawaban:


Hal serupa terjadi pada saya, Saya memecahkan cara ini

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

Dan cobalah menginstal melalui sana pip install PIL.

Lebih lanjut tentang apa pip dapat ditemukan sini. Singkatnya adalah cara mudah (dan menjadi standar) untuk menginstal pustaka python.

jika terus gagal, itu bisa karena PIL mencari pustaka tersebut di jalur yang berbeda.

Ternyata instalasi APT menempatkan perpustakaan di bawah / usr / lib / x86_64-linux-gnu dan PIL akan mencari mereka / usr / lib /.   Jadi Anda harus membuat symlink untuk PIL untuk melihatnya.

Cobalah untuk melihat apakah libjpeg dan libz libs ada di / usr / lib / x86_64-linux-gnu dan buat symlink dengan cara ini

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/

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


24
2018-06-27 00:30



Ini tidak bekerja untuk saya di Ubuntu 12.04 64bit. - Gus E
jika sesuai dengan kebutuhan Anda, Anda bisa mencoba 'bantal'. Ini adalah penurunan pengganti PIL. - Hernantz
Kapan pun memungkinkan, gunakan pillow. Ini pada dasarnya PIL tetapi sebenarnya dipertahankan. - Thane Brimhall
Paket zlib1g-dev tidak tersedia, tetapi dirujuk oleh paket lain. Ini mungkin berarti bahwa paket tersebut hilang, telah usang, atau hanya tersedia dari sumber lain E: Tidak dapat menemukan paket libjpeg E: Tidak dapat menemukan paket libjpeg-dev E: Tidak dapat menemukan paket libfreetype6-dev E: Paket 'zlib1g -dev 'tidak memiliki kandidat instalasi - Aalok
Paket python-imaging di Ubuntu 12.04 LTS terhubung ke pustaka JPEG, dan changelog menyebutkan multiarch yang melanggar sebelum Juli 2011. Mungkin ini selftest.py telah rusak karena itu juga, tapi itu tidak selalu mempengaruhi hal lain. - Josip Rodin


Solusi di atas tidak bekerja untuk saya di Ubuntu 12.10 karena libjpeg tidak tersedia di repositori.

Apa yang akhirnya berhasil bagi saya adalah:

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

Jika Anda mendapatkan kesalahan "Anda harus menempatkan beberapa 'sumber' URI di sources.list Anda" kemudian pastikan bahwa /etc/apt/sources.list Anda memiliki entri deb-src yang cocok dengan entri deb Anda. 

Maka Anda harus symlink file dari lokasi sebenarnya di server Anda ke lokasi di mana PIL mengharapkan mereka.

Versi 32-bit

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

Versi 64-bit

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

Akhirnya, pip install PIL

Keberhasilan!

enter image description here


Pembaruan Sep 2014

Bantal adalah garpu PIL yang lebih modern.

#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

30
2018-03-25 03:20



Bekerja untuk saya di 13.04 dengan Pillow, tanpa symlinking. - Eugene Nagorny
bekerja untuk saya juga (14,04 LTS 64-bit, tidak dimodifikasi dari atas): sudo apt-get build-dep python-imaging sudo apt-get install libjpeg62 libjpeg62-dev - Peter Teoh
Saya hanya perlu "apt-get build-dep python-imaging" - peterretief


Saya hanya ingin menambahkan, itu pip install pil tidak lagi berfungsi, setidaknya di mesin saya, Anda harus melakukannya

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


13
2018-02-11 13:43



Mencoba pip install Pillow dari pada pip install pill (yang terakhir tidak ada) - aclark
@Lynob ini sama dengan PIL? dan didukung oleh TkInker? - 3kstc
@ 3kstc ya itu - Lynob


Jawaban di atas membuat tautan untuk pustaka x64 di lokasi x86. Sebaliknya saya akan mengunduh Sumber PIL kemudian tambahkan baris-baris ini di setup.py:

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

setelah garis-garis ini (~ garis 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")

instal ulang PIL. Jika Anda menggunakan pip:

pip uninstall PIL

Kemudian dari direktori sumber jalankan:

python setup.py install

4
2018-06-24 20:33





Solusi ini bekerja untuk saya di Ubuntu 14.04 karena libjpeg tidak tersedia di repositori.

Apa yang akhirnya berhasil bagiku

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

2
2018-01-03 13:37





sudo apt-get install python-imaging sekarang menginstal Bantal tidak PIL. Seperti untuk selftest.py, Anda mungkin perlu periksa sumbernya untuk menjalankannya. Dan tentu saja, Anda perlu menginstal dependensi jika Anda ingin PIL mendukung mereka mis.

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

Untuk menjalankan versi PIL yang lebih baru daripada yang disertakan dalam Ubuntu ::

pip install Pillow

2
2018-02-07 21:39





Saya perlu menginstal Pip Bantal di virtualenv pada 14.04 (tidak menggunakan paket sistem).

Untuk membangun bantal dari PyPI di dalam virtualenv (Python 2.7):

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

... Maka Anda dapat mengimpor PIL.


2
2018-03-13 21:54