ImportError: Brak modułu o nazwie PIL

207

Używam tego polecenia w powłoce, aby zainstalować PIL:

easy_install PIL

następnie uruchomić pythoni wpisać to: import PIL. Ale pojawia się ten błąd:

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

Nigdy nie miałem takiego problemu, jak myślisz?

Asma Gheisari
źródło
tak, działa. jaka jest twoja sugestia?
Asma Gheisari
11
@RikPoggi Ta strona dokumentacji mówi, jak używać from PIL import Image, co nie działa.
Janne Karila
2
@Janne wystarczy użyć Importuj obraz, a PIL zaczyna działać.
Asma Gheisari,
W tej chwili polecam easy_install Pillowzamiast tego. Poduszka jest widelcem PIL, który ma lepsze opakowanie i obsługuje Python 3.
Lennart Regebro
1
Czy możesz zmienić przyjętą odpowiedź na taką, która poleca Pillow? Jak powiedział @LennartRegebro, ten pakiet jest lepszy w dłuższej perspektywie.
Josiah Yoder

Odpowiedzi:

131

W przypadku niektórych instalacji PIL musisz to zrobić

import Image

zamiast import PIL(PIL w rzeczywistości nie zawsze jest importowany w ten sposób). Ponieważ import Imagedziała dla Ciebie, oznacza to, że faktycznie zainstalowałeś PIL.

Posiadanie innej nazwy biblioteki i modułu Python jest niezwykłe, ale właśnie to wybrano dla (niektórych wersji) PIL.

Możesz uzyskać więcej informacji na temat korzystania z tego modułu z oficjalnym samouczku .

PS : W rzeczywistości, na niektórych instalacjach, import PIL wykonuje pracę, która dodaje do zamieszania. Potwierdza to przykład z dokumentacji , jak się dowiedział @JanneKarila, a także niektóre nowsze wersje pakietu MacPorts PIL (1.1.7).

Eric O Lebigot
źródło
140
pip install imagez odpowiedzi Zhiminga zadziałało dla mnie.
Jim Schubert
9
tak, powiedział @JimSchubert. pip install imageod też @zhimmingwangdla mnie pracował
Rafael Ruiz Muñoz
5
Ale imageto nie jest PIL (jak w pytaniu), to inny moduł. Odniesienie: github.com/francescortiz/image . Czy coś mi umyka?
Eric O Lebigot
2
Powinieneś sprawdzić, czy twoje pipinstalacje dla używanego interpretera Pythona. pip -Vinformuje, gdzie się instaluje. Pod Uniksem which pythonmówi ci, gdzie jest twoje pythonpolecenie. Oba powinny pasować wystarczająco dobrze. Lub lepiej: python -c 'import sys; print sys.path'powie ci, gdzie twoje pythonpolecenie szuka modułów ( print(sys.path)dla Python 3).
Eric O Lebigot
1
@EricOLebigot Yours jest pozornie niedocenianym rozwiązaniem, twoja sugestia doskonale rozwiązała mój problem i uniemożliwiła mi pobranie jakichkolwiek innych pakietów
Scott Anderson
281

W powłoce uruchom:

pip install Pillow

Uwaga: PIL jest przestarzałe, a poduszka jest następcą.

zhiming wang
źródło
7
Naprawdę? nieimage jest modułem PIL pytania, lecz „aplikacją Django” (która jest oparta na PIL). Odniesienie: github.com/francescortiz/image .
Eric O Lebigot,
8
Dlaczego to ma pozytywne głosy? imagemoże być użyteczną biblioteką, ale nie ma związku z pytaniem.
gwg
2
pip install imagepracował dla mnie. dzięki pamięci podręcznej duckduckgo za zachowanie odpowiedzi przed edycją!
Zahra,
Ta metoda jest dla mnie pomocna.
Bravo Yeung,
Widziałem PILLOW w innych miejscach, tutaj Poduszka. cmdnie rozróżnia wielkości liter, ale jaki jest preferowany sposób pisania tego?
Josiah Yoder
53

Z drugiej strony, mogę gorąco polecić użycie poduszki, która jest wstecznie kompatybilna z PIL i jest lepiej utrzymana / będzie działać na nowszych systemach.

Po zainstalowaniu możesz to zrobić

import PIL 

lub

from PIL import Image

itp..

Damian
źródło
Żadna z pozostałych odpowiedzi nie rozwiązała mojego problemu, ale ten rozwiązał.
MaxJ
49

Najpierw zainstaluj Poduszkę z

pip install Pillow

lub w następujący sposób

c:\Python35>python -m pip install Pillow

Następnie w kodzie python możesz zadzwonić

from PIL import Image

„Poduszka to rozwidlenie biblioteki PIL, Python Imaging Library, która nie jest już utrzymywana. Jednak w celu zachowania kompatybilności wstecznej używana jest stara nazwa modułu”. Z zainstalowanej poduszki, ale „brak modułu o nazwie poduszka” - python2.7 - Windows 7 - python -m zainstaluj poduszkę

Orhan Celik
źródło
5
otrzymuję Wymagania już spełnione, ale wciąż ten sam problem
Saurabh Chandra Patel
21

Czasami pojawia się ten typ błędu podczas uruchamiania Unitest w pythonie. Rozwiązaniem jest odinstalowanie i zainstalowanie tego samego pakietu w środowisku wirtualnym.

Za pomocą tych poleceń:

pip uninstall PIL

i

pip install  PIL 

Jeśli z jakiegokolwiek powodu pojawi się błąd, dodaj sudo na początku polecenia, a po naciśnięciu Enter wpisz hasło.

Fernando Munoz
źródło
2
To też działa dla mnie. Weź pod uwagę, że można użyć innych skryptów Python, które pośrednio korzystają z PIL, zmiana instrukcji Import nie zawsze jest opcją.
Propeller
Nie działało to dla mnie, nie można było znaleźć repozytorium o nazwie PIL (lub pil). Jednak uruchomiłem „pip install Pillow”, który zadziałał. Rozumiem, że Pillow to gałąź PIL.
Seb Charrot
@TeeBasins Pillow to „przyjazny widelec PIL” autorstwa Alexa Clarka i współautorów.
JC Rocamonde,
1
Otrzymuję komunikat „Nie można znaleźć wersji spełniającej wymaganie PIL (z wersji
:)
20

To działało dla mnie na Ubuntu 16.04:

sudo apt-get install python-imaging

Znalazłem to na Wikibooks po wyszukiwaniu przez około pół godziny.

grooveplex
źródło
3
To pytanie zostało zadane przed Ubuntu 16.04, ale napotkałem ten problem w Ubuntu 16.04 i naprawiłem go z twoją sugestią.
foool
Cieszę się, że mogłem pomóc! : D
grooveplex
To był mój problem na RPI z ekranem OLED wyświetlającym dane wyjściowe pytona
Ryan Ellis
10

Użyłem:

pip install Pillow 

i pip zainstalował PIL w Lib \ site-packages. Kiedy przeniosłem PIL do Lib, wszystko działało dobrze. Jestem na Windows 10.

Cromastro
źródło
9

Na Windows 10 udało mi się tam dostać z:

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

po czym w Pythonie (w moim przypadku python 3.7) to działa dobrze ...

import PIL
from PIL import image
Andrzej Pasztet
źródło
Po uaktualnieniu systemu Windows 7 do systemu Windows 10 mój program python nie działał, ale ta metoda go rozwiązała. Dzięki!
user1785594,
8

musisz zainstalować obraz i poduszkę z pakietem python.

rodzaj

python -m pip install image 

lub uruchom wiersz polecenia (w systemie Windows), a następnie przejdź do folderu skryptów

cd C:\Python27\Scripts

następnie uruchom poniżej polecenia

pip install image
azdoud
źródło
8

jeśli używasz anakondy:

conda install pillow
Conor Cosnett
źródło
1
Zrobiłem to, nadal nie mogłem importować PIL
John KTejik,
@johnktejik, której wersji Python i Anaconda używasz?
Conor Cosnett,
6

W systemie Windows spróbuj sprawdzić ścieżkę do lokalizacji biblioteki PIL. W moim systemie zauważyłem, że ścieżka jest

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

po zmianie nazwy pilfolderu PILudało mi się załadować moduł PIL.

Komla
źródło
Otrzymałem również ten sam błąd importu. Zainstalowałem PIL za pomocą easy_install. W pakietach witryn został zainstalowany w katalogu o nazwie „PIL-1.1.7-py2.7-win32.egg”. Zgodnie z twoją sugestią zmieniłem nazwę katalogu na PIL i zadziałało. Dzięki za pomoc @Komla.
shashaDenovo
5

Będziesz musiał zainstalować obraz i poduszkę z pakietem python. Zapewniamy, że wiersz poleceń zajmie się wszystkim.

Trafienie

python -m pip zainstaluj obraz

Dipanshu Sehjal
źródło
4

zamiast PIL użyj poduszki, to działa

easy_install Pillow

lub

pip install Pillow
Sai Gopi N.
źródło
1

Użyłem Conda-Forge, aby zainstalować poduszkę w wersji 5, i to wydawało się działać dla mnie:

conda install --channel conda-forge pillow=5

normalna poduszka instalacyjna Conda NIE działała dla mnie.

Geoff Perrin
źródło
0

Miałem ten sam problem podczas importowania pliku PIL i dalszego importowania modułów ImageTk i Image. Próbowałem także zainstalować PIL bezpośrednio przez pip. ale nie udało się osiągnąć sukcesu. W międzyczasie zasugerowano, że PIL został zdemontowany, dlatego próbowano zainstalować poduszkę tylko przez pip. poduszka została pomyślnie zainstalowana, ponadto pakiet PIL został utworzony pod ścieżką: python27 / Lib / site-packages /.

Teraz można importować zarówno Image, jak i ImageTk.

Prateek Jain
źródło
0

Niedawno zainstalowałem Leap. Próbowałem openshot i się nie zaczął. Więc przyszedł tutaj i znalazł sugestię, aby zacząć od terminala, aby sprawdzić, czy wystąpił jakiś błąd.

Wystąpił błąd error missing mlt. Więc zainstalowałem python-mltmoduł z Yast i zaimportowałem, próbowałem uruchomić, ale następny openshot powiedziałmissing pil.

Zastosowałem się do sugestii poduszki, aby zainstalować, ponieważ Yast nie mógł znaleźć żadnego pil i importował pil. To poszło dobrze, ale nie zaczęło się i pokazało Error missing goocanvas.

Zainstalowałem goocanvasz Yastem, zaimportowałem go do Pythona i odpaliłem openshot !!

Z dużą ilością błędów w terminalu, takich jak missing Vimeoclienti wiele attributeerrors. Cóż, zobaczę, czy ma to jakiś wpływ na pracę z nim.

Johan
źródło
0

Miałem ten sam problem i naprawiłem go, sprawdzając, jaka jest wersja pip ( pip3 --version), a następnie uświadomiłem sobie, że piszę python<uncorrect version> filename.pyzamiastpython<correct version> filename.py

Ori Barmatz
źródło
-13

Prawdopodobnie brakuje nagłówków python, aby zbudować pil. Jeśli używasz ubuntu lub polubień, będzie to coś w rodzaju

apt-get install python-dev
Crankyadmin
źródło
Jakiej architektury używasz, jeśli 64-bitowy jesteś w świecie bólu. Użyj wersji 32-bitowej i skorzystaj z nieoficjalnej, wstępnie skompilowanej wersji stąd
Crankyadmin
Jest 32-bitowy, instalowałem to kilka razy, ale tym razem mam ten problem
Asma Gheisari