PIL mendukung JPEG di sistem saya.
Setiap kali saya melakukan unggahan, kode saya gagal dengan:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
Bagaimana saya bisa menyelesaikan ini?
Jawaban:
libjpeg-dev diperlukan untuk dapat memproses jpeg dengan bantal (atau PIL), jadi Anda harus menginstalnya dan kemudian mengkompilasi ulang bantal. Tampaknya juga libjpeg8-dev diperlukan di Ubuntu 14.04
Jika Anda masih menggunakan PIL maka Anda harus benar-benar menggunakan bantal hari ini, jadi pertama-tama
pip uninstall PIL
sebelum mengikuti instruksi ini untuk beralih, atau jika Anda memiliki alasan yang baik untuk bertahan dengan PIL maka ganti "bantal" dengan "PIL" di bawah ini. ).Di Ubuntu:
Jika itu tidak berhasil, coba salah satu di bawah ini, tergantung apakah Anda menggunakan Ubuntu 64bit atau 32bit.
Untuk Ubuntu x64:
Atau untuk Ubuntu 32bit:
Kemudian pasang kembali bantal:
(Suntingan untuk memasukkan umpan balik dari komentar. Terima kasih Charles Offenbacher untuk menunjukkan ini berbeda untuk 32bit, dan t-mart untuk menyarankan penggunaan
--no-cache-dir
).sumber
pip install
pertama kalinya, tetapi kemudian membatalkan pencopotan berikutnya dan menginstal ulang dengan cepat mencurigakan. Bagaimanapun , metode di atas tidak bekerja untuk saya sampai saya berlaripip install --no-cache-dir pillow
. Semoga berhasil!Bagi mereka yang menggunakan OSX, saya menggunakan biner berikut ini untuk menginstal libpng dan libjpeg di seluruh sistem:
libpng & libjpeg untuk OSX
Karena saya sudah menginstal PIL (via pip pada virtualenv), saya menjalankan:
Ini menyelesaikan
decoder JPEG not available
kesalahan untuk saya.UPDATE (4/24/14) :
Versi pip yang lebih baru membutuhkan tanda tambahan untuk mengunduh pustaka (termasuk PIL) dari sumber eksternal. Coba yang berikut ini:
Lihat jawaban berikut untuk info tambahan: pip install PIL jangan instal ke virtualenv
PEMBARUAN 2 :
Jika pada OSX Mavericks, Anda ingin mengatur
ARCHFLAGS
bendera sebagai komentar @RicardoGonzales di bawah ini :sumber
Ini satu-satunya cara yang bekerja untuk saya. Menginstal paket dan menginstal ulang PIL tidak berhasil.
Di ubuntu, instal paket yang diperlukan:
(Anda mungkin juga ingin menginstal
libfreetype6 libfreetype6-dev zlib1g-dev
untuk mengaktifkan decoder lainnya).Kemudian ganti PIL dengan bantal:
sumber
pip install pillow --upgrade
.Pekerjaan berikut di ubuntu 12.04:
ketika Anda melihat "- dukungan JPEG tersedia" itu berarti berfungsi.
Tetapi, jika masih tidak berfungsi saat Anda mengedit gambar jpeg Anda, periksa jalur python !! jalur python saya tidak terjawab
/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
, jadi saya edit~/.bashrc
tambahkan kode berikut ke file ini:Edit:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
lalu, akhirnya, itu berhasil !!
sumber
Pada Fedora 17 saya harus menginstal
libjpeg-devel
dan menginstal ulangPIL
:sumber
Jawaban Rolo sangat bagus, namun saya harus menginstal ulang Pillow dengan mem-bypass cache pip (diperkenalkan dengan pip 7) jika tidak, ia tidak akan dikompilasi ulang dengan benar !!! Perintahnya adalah:
dan Anda dapat melihat apakah Bantal telah dikonfigurasi dengan benar dengan membaca di log ini:
seperti yang Anda lihat dukungan untuk jpg, tiff dan sebagainya diaktifkan, karena saya sebelumnya menginstal pustaka yang diperlukan melalui apt (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)
sumber
Di Mac OS X Mavericks (10.9.3), saya menyelesaikan ini dengan melakukan hal berikut:
Instal libjpeg by brew (sistem manajemen paket)
pasang kembali bantal (saya menggunakan bantal bukan PIL)
sumber
brew unlink jpeg && brew link jpeg
sebelum memasang Bantal.Instal ini dan pastikan untuk menginstal PIL dengan pip karena saya mengkompilasinya dari sumber dan untuk beberapa alasan itu tidak berfungsi
sumber
Saya sudah menggunakan
Pillow
dan mendapat kesalahan yang sama. Sudah mencoba menginstallibjpeg
ataulibjpeg-dev
seperti yang disarankan oleh orang lain tetapi diberitahu bahwa versi (yang lebih baru) sudah diinstal.Pada akhirnya yang diperlukan hanyalah menginstal ulang
Pillow
:sumber
Saya terlalu pemula untuk berkomentar zeantsoi posting; (. Jadi di sini apa yang harus saya lakukan untuk diselesaikan pada OSX pada 10.9.1 yang
1) instal alat Xcode (buka terminal Anda dan jalankan:)
xcode-select --install
- diambil dari posting ini: Tidak dapat menginstal PIL setelah Mac OS X 10.92) instal paket libpng dan libjpeg (installer kombo) dari tautan ini: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) reboot (tidak yakin itu wajib)
4) Instal ulang PIL dengan run
pip install -I PIL
(karena saya telah menginstal PIL sebelum mengalami masalah)Semoga ini bisa membantu dan jangan bingung lagi ...
_oho
sumber
Pertanyaan ini diposting beberapa waktu yang lalu dan sebagian besar jawabannya sudah cukup tua. Jadi ketika saya menghabiskan waktu berjam-jam untuk mencari tahu ini, tidak ada yang berhasil, dan saya mencoba semua saran di posting ini.
Saya masih mendapatkan kesalahan JPEG standar ketika mencoba mengunggah JPG dalam bentuk avatar Django saya:
Kemudian saya memeriksa repositori untuk Ubuntu 12.04 dan melihat beberapa paket tambahan
libjpeg
. Saya menginstal ini dan masalah saya terpecahkan:Instalasi ini dihapus
libjpeg-dev
,libjpeg-turbo8-dev
danlibjpeg8-dev
.Semoga ini bisa membantu seseorang di tahun 2015 dan selanjutnya!
Bersulang
sumber
Masalah yang sama di sini,
JPEG support available
tetapi masih adaIOError: decoder/encoder jpeg not available
, kecuali saya menggunakan Bantal dan bukan PIL.Saya mencoba semua hal di atas dan banyak lagi, tetapi setelah berjam - jam saya menyadari bahwa menggunakan
sudo pip install
tidak berfungsi seperti yang saya harapkan, dikombinasikan denganvirtualenv
. Saya konyol.Menggunakan
sudo
secara efektif meluncurkan perintah dalam shell baru (pemahaman saya tentang hal ini mungkin tidak sepenuhnya benar) di mana virtualenv tidak diaktifkan, yang berarti bahwa paket akan diinstal di lingkungan global sebagai gantinya. (Ini mengacaukan segalanya, saya pikir saya memiliki 2 instalasi Bantal yang berbeda.)Saya membersihkan semuanya, mengubah pengguna menjadi root dan menginstal ulang di virtualenv dan sekarang berfungsi.
Semoga ini bisa membantu seseorang!
sumber
Untuk Fedora
Instal prasyarat
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
Sekarang instal Bantal
sudo pip install pillow
Catatan - Untuk libjpeg dan zlib kami menginstal paket libjpeg-devel dan zlib-devel di Fedora / CentOS / Red Hat
sumber
Pertama saya harus menghapus folder python di folder tersembunyi user / appData (yang membuat sakit kepala besar), selain menguninstall Python. Kemudian saya menginstal Distribusi WinPython: http://code.google.com/p/winpython/ yang mencakup PIL
sumber
Bagi mereka yang menggunakan Mac OS Mountain Lion, saya mengikuti anwser zeantsoi, tetapi tidak berhasil.
Saya akhirnya berakhir dengan solusi dari posting ini: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
Sekarang, saya dengan senang hati menjalankan skrip saya untuk jpeg!
sumber