ImportError: Tidak ada modul bernama PIL

207

Saya menggunakan perintah ini di shell untuk menginstal PIL:

easy_install PIL

kemudian saya menjalankan pythondan ketik ini: import PIL. Tapi saya mendapatkan kesalahan ini:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named PIL

Saya tidak pernah mengalami masalah seperti itu, bagaimana menurut Anda?

Asma Gheisari
sumber
ya, itu berhasil. Apa saran Anda?
Asma Gheisari
11
@RikPoggi Halaman dokumentasi ini sebenarnya memberitahu untuk digunakan from PIL import Image, yang tidak berfungsi.
Janne Karila
2
@Janne cukup gunakan Impor Gambar, dan PIL mulai bekerja.
Asma Gheisari
Saat ini saya akan merekomendasikan untuk melakukannya easy_install Pillow. Bantal adalah garpu PIL yang memiliki kemasan yang lebih baik dan mendukung Python 3.
Lennart Regebro
1
Bisakah Anda mengubah jawaban yang diterima menjadi yang merekomendasikan Bantal? Seperti yang dikatakan @LennartRegebro, paket ini jangka panjangnya lebih baik.
Josiah Yoder

Jawaban:

131

Pada beberapa pemasangan PIL, Anda harus melakukannya

import Image

bukannya import PIL(PIL sebenarnya tidak selalu diimpor dengan cara ini). Karena import Imageberfungsi untuk Anda, ini berarti Anda telah menginstal PIL.

Memiliki nama yang berbeda untuk perpustakaan dan modul Python tidak biasa, tetapi inilah yang dipilih untuk (beberapa versi) PIL.

Anda dapat memperoleh informasi lebih lanjut tentang cara menggunakan modul ini dari tutorial resmi .

PS : Sebenarnya, pada beberapa instalasi, import PIL tidak bekerja, yang menambah kebingungan. Ini dikonfirmasi oleh contoh dari dokumentasi , seperti yang ditemukan oleh @JanneKarila, dan juga oleh beberapa versi terbaru dari paket PIL MacPorts (1.1.7).

Eric O Lebigot
sumber
141
pip install imagedari jawaban Zhiming bekerja untuk saya.
Jim Schubert
9
ya, @JimSchubert mengatakannya. pip install imagedari @zhimmingwangbekerja untuk saya juga
Rafael Ruiz Muñoz
5
Tapi imageini tidak PIL (seperti dalam pertanyaan), itu modul yang berbeda. Referensi: github.com/francescortiz/image . Apakah saya melewatkan sesuatu, di sini?
Eric O Lebigot
2
Anda harus memeriksa apakah Anda pipmenginstal interpreter python yang Anda gunakan. pip -Vmemberitahu Anda di mana itu menginstal. Di bawah Unix, which pythonmemberi tahu Anda di mana pythonperintah Anda . Keduanya harus cocok dengan cukup baik. Atau, lebih baik: python -c 'import sys; print sys.path'akan memberi tahu Anda di mana pythonperintah Anda mencari modul ( print(sys.path), untuk Python 3).
Eric O Lebigot
1
@EricOLebigot Yours adalah solusi yang tampaknya kurang dihargai, saran Anda menyelesaikan masalah saya dengan sempurna, dan mencegah saya mengunduh paket lain
Scott Anderson
281

Dalam shell, jalankan:

pip install Pillow

Perhatian: PIL sudah usang, dan bantal adalah penerusnya.

zhiming wang
sumber
7
Betulkah? imageadalah tidak modul PIL pertanyaan, itu bukan sebuah "aplikasi Django" (yang kebetulan berdasarkan atas PIL). Referensi: github.com/francescortiz/image .
Eric O Lebigot
8
Mengapa ini memiliki upvotes? imagemungkin perpustakaan yang bermanfaat, tetapi tidak terkait dengan pertanyaan.
gwg
2
pip install imagebekerja untukku. terima kasih kepada duckduckgo cache untuk menyimpan jawaban pra-edit!
Zahra
Metode ini sangat membantu saya.
Bravo Yeung
Saya sudah melihat BANTAL tempat lain, Bantal di sini. cmdtidak peka huruf besar-kecil, tetapi apa cara penulisan yang disukai ini?
Josiah Yoder
53

Pada catatan yang berbeda, saya bisa sangat merekomendasikan penggunaan Bantal yang kompatibel dengan PIL dan lebih baik dirawat / akan bekerja pada sistem yang lebih baru.

Ketika itu diinstal, Anda bisa melakukannya

import PIL 

atau

from PIL import Image

dll ..

Damian
sumber
Tidak ada jawaban lain yang memperbaiki masalah yang saya miliki, tetapi jawaban ini benar.
Maks.
49

Pada awalnya instal Bantal dengan

pip install Pillow

atau sebagai berikut

c:\Python35>python -m pip install Pillow

Kemudian dalam kode python Anda dapat memanggil

from PIL import Image

"Bantal adalah garpu dari PIL, Perpustakaan Pencitraan Python, yang tidak lagi dipertahankan. Namun, untuk mempertahankan kompatibilitas, nama modul yang lama digunakan." Dari bantal terpasang, tetapi "tidak ada modul bernama bantal" - python2.7 - Windows 7 - python -m pasang bantal

Orhan Celik
sumber
5
saya mendapatkan Persyaratan sudah puas tetapi masih masalah yang sama
Saurabh Chandra Patel
21

Kadang-kadang saya mendapatkan jenis kesalahan ini menjalankan Unitest di python. Solusinya adalah menghapus dan menginstal paket yang sama di lingkungan virtual Anda.

Menggunakan perintah ini:

pip uninstall PIL

dan

pip install  PIL 

Jika karena alasan apa pun Anda mendapatkan kesalahan, tambahkan sudo di awal perintah dan setelah menekan masukkan ketik kata sandi Anda.

Fernando Munoz
sumber
2
Ini juga berfungsi untuk saya. Pertimbangkan bahwa orang mungkin menggunakan skrip Python lain yang secara tidak langsung menggunakan PIL, mengubah pernyataan Impor tidak selalu merupakan opsi.
PropellerHead
Ini tidak berfungsi untuk saya, tidak dapat menemukan repositori yang disebut PIL (atau pil). Namun saya menjalankan "pip install Pillow" yang berhasil. Pemahaman saya adalah bahwa Bantal adalah cabang PIL.
Seb Charrot
@TeeBasins Pillow adalah "garpu PIL ramah" oleh Alex Clark dan Kontributor.
JC Rocamonde
1
Saya mendapatkan "Tidak dapat menemukan versi yang memenuhi persyaratan PIL (dari versi
:)
20

Ini bekerja untuk saya di Ubuntu 16.04:

sudo apt-get install python-imaging

Saya menemukan ini di Wikibooks setelah mencari sekitar setengah jam.

grooveplex
sumber
3
Pertanyaan ini diajukan sebelum Ubuntu 16.04, tetapi saya menemukan masalah ini dalam Ubunt 16.04 dan memperbaikinya dengan saran Anda.
foool
Senang saya bisa membantu! : D
grooveplex
Ini adalah masalah saya pada RPI dengan layar OLED menampilkan output python
Ryan Ellis
10

Saya menggunakan:

pip install Pillow 

dan pip instal PIL dalam paket-paket Lib \ site. Ketika saya memindahkan PIL ke Lib, semuanya bekerja dengan baik. Saya menggunakan Windows 10.

cromastro
sumber
9

Pada windows 10 saya berhasil ke sana dengan:

cd "C:\Users\<your username>\AppData\Local\Programs\Python\Python37-32" 
python -m pip install --upgrade pip     <-- upgrading from 10.something to 19.2.2.
pip3 uninstall pillow
pip3 uninstall PIL
pip3 install image

setelah itu dalam python (python 3.7 dalam kasus saya) ini berfungsi dengan baik ...

import PIL
from PIL import image
andrew pate
sumber
Setelah memutakhirkan windows 7 ke windows 10 program python saya tidak berfungsi tetapi metode ini menyelesaikannya. Terima kasih!
user1785594
8

Anda harus menginstal Image dan bantal dengan paket python Anda.

Tipe

python -m pip install image 

atau jalankan command prompt (di windows), lalu navigasikan ke folder skrip

cd C:\Python27\Scripts

kemudian jalankan perintah di bawah ini

pip install image
azdoud
sumber
8

jika Anda menggunakan anaconda:

conda install pillow
Conor Cosnett
sumber
1
Saya melakukan ini, masih tidak bisa mengimpor PIL
john ktejik
@ johnktejik versi Python dan Anaconda yang Anda gunakan?
Conor Cosnett
6

Di windows, coba periksa lintasan ke lokasi perpustakaan PIL. Di sistem saya, saya perhatikan jalannya

\Python26\Lib\site-packages\pil instead of \Python26\Lib\site-packages\PIL  

setelah mengganti nama pilfolder menjadi PIL, saya dapat memuat modul PIL.

Komla
sumber
Saya juga mendapatkan kesalahan impor yang sama. Saya telah menginstal PIL menggunakan easy_install. Dalam paket-situs itu diinstal di direktori dengan nama 'PIL-1.1.7-py2.7-win32.egg'. Sesuai saran Anda, saya telah mengubah nama dir menjadi PIL dan itu berhasil. Terima kasih atas bantuan Anda @Komla.
shashaDenovo
5

Anda perlu menginstal Image dan bantal dengan paket python Anda. Yakinlah, baris perintah akan mengurus semuanya untuk Anda.

Memukul

python -m pip instal gambar

Dipanshu Sehjal
sumber
4

bukannya PIL gunakan Bantal itu berfungsi

easy_install Pillow

atau

pip install Pillow
Sai Gopi N
sumber
1

Saya menggunakan conda-forge untuk memasang bantal versi 5, dan itu sepertinya berhasil bagi saya:

conda install --channel conda-forge pillow=5

bantal pemasangan conda normal TIDAK bekerja untuk saya.

Geoff Perrin
sumber
0

Saya memiliki masalah yang sama ketika mengimpor PIL dan selanjutnya mengimpor modul ImageTk dan Gambar. Saya juga mencoba menginstal PIL langsung melalui pip. tetapi tidak sukses bisa diraih. Seperti di antara itu telah disarankan bahwa PIL telah didepresiasi, oleh karena itu, mencoba memasang bantal melalui pip saja. bantal berhasil dipasang, selanjutnya, paket PIL dibuat di bawah jalan: python27 / Lib / situs-paket /.

Sekarang Image dan ImageTk dapat diimpor.

Prateek Jain
sumber
0

Saya baru-baru ini menginstal Leap. Saya Mencoba membuka dan itu tidak dimulai. Jadi datang ke sini dan menemukan saran untuk memulai dari Terminal untuk melihat apakah ada kesalahan.

Kesalahan saya adalah error missing mlt. Jadi saya menginstal python-mltmodul dari Yast dan mengimpornya, mencoba untuk memulai tetapi kata openshot berikutnyamissing pil.

Saya Mengikuti saran Bantal untuk menginstal karena Yast tidak dapat menemukan pil dan pil impor. Itu berjalan baik tetapi tidak mulai dan menunjukkan Error missing goocanvas.

Saya menginstal goocanvasdengan Yast, mengimpornya dengan python, dan Openshot diaktifkan !!

Dengan banyak kesalahan di terminal suka missing Vimeoclientdan banyak attributeerrors. Nah, akan melihat apakah ada pengaruh bekerja dengannya.

Johan
sumber
0

Aku punya masalah yang sama dan saya tetap dengan memeriksa versi pip ( pip3 --version) adalah, kemudian menyadari aku mengetik python<uncorrect version> filename.pybukannyapython<correct version> filename.py

Ori Barmatz
sumber
-13

Anda mungkin kehilangan header python untuk membuat pil. Jika Anda menggunakan ubuntu atau suka itu akan seperti itu

apt-get install python-dev
Crankyadmin
sumber
Apa arsitektur yang Anda gunakan, jika 64bit Anda berada dalam dunia yang terluka. Gunakan versi 32 bit dan gunakan versi prakompilasi tidak resmi dari sini
Crankyadmin
Ini 32 bit, saya sudah menginstal ini beberapa kali, tapi kali ini saya punya masalah ini
Asma Gheisari