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?


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).


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ą.


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..


Ż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ę


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.


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.


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.


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

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


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.


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


4

zamiast PIL użyj poduszki, to działa

easy_install Pillow

lub

pip install Pillow


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.


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.


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.


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


-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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.