ImportError: Немає модуля з іменем PIL


207

Я використовую цю команду в оболонці для установки PIL:

easy_install PIL

то я біжу pythonі введіть наступне: import PIL. Але я отримую цю помилку:

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

У мене ніколи не було такої проблеми, як ви думаєте?


так, це працює. Яка ваша пропозиція?
Асма Гейсарі

11
@RikPoggi Ця сторінка документації фактично розповідає про використання from PIL import Image, яка не працює.
Янна Каріла

2
@Janne просто використовуйте Import Image, і PIL почне працювати.
Асма Гейсарі

У цей час я б рекомендував easy_install Pillowзамість цього. Подушка - це вилка з PIL, яка має кращу упаковку та підтримує Python 3.
Lennart Regebro

1
Чи можете ви змінити прийняту відповідь на ту, яка рекомендує Подушка? Як сказав @LennartRegebro, цей пакет краще довгостроковий.
Йосія Йодер

Відповіді:


131

У деяких встановленнях PIL Ви повинні це зробити

import Image

замість import PIL(PIL насправді не завжди імпортується таким чином). Оскільки import Imageпрацює для вас, це означає, що ви фактично встановили PIL.

Наявність іншої назви для бібліотеки та модуля Python незвично, але саме це було обрано для (деяких версій) PIL.

Ви можете отримати додаткову інформацію про використання цього модуля з офіційного підручника .

PS : Насправді, на деяких установках, import PIL робить роботу, яка додає до плутанини. Це підтверджується прикладом з документації , як з’ясував @JanneKarila, а також деякими більш новими версіями пакету MacPorts PIL (1.1.7).


140
pip install imageз відповіді Жимінга працював на мене.
Джим Шуберт

9
так, @JimSchubert сказав це. pip install imageз @zhimmingwangпрацював і для мене
Рафаель Руїс Муньоз

5
Але imageце не PIL (як у питанні), це інший модуль. Довідка: github.com/francescortiz/image . Я чогось тут пропускаю?
Ерік О Лебігот

2
Ви повинні перевірити, чи pipвстановлено ваш інтерпретатор python, який ви використовуєте. pip -Vповідомляє вам, де він встановлюється. Під Unix which pythonповідомляє, де знаходиться ваша pythonкоманда. Двоє повинні відповідати досить добре. Або ще краще: python -c 'import sys; print sys.path'підкаже, де ваша pythonкоманда шукає модулі ( print(sys.path), для Python 3).
Ерік О Лебігот

1
@EricOLebigot Yourrs - це, здавалося б, недооцінене рішення, ваша пропозиція прекрасно вирішила мою проблему і завадила мені завантажувати будь-які інші пакети
Скотт Андерсон

281

У оболонці запустіть:

pip install Pillow

Увага: PIL застаріла, а подушка - спадкоємець.


7
Дійсно? imageце НЕ PIL модуль питання, то замість цього «Django додаток» (що трапляється на основі на PIL). Довідка: github.com/francescortiz/image .
Ерік О Лебігот

8
Чому це має надбавки? imageможе бути корисною бібліотекою, але це питання не пов'язане.
gwg

2
pip install imageпрацював на мене. завдяки кешу duckduckgo за тримання відповіді за попереднім редагуванням!
Захра

Цей метод мені корисний.
Браво Юнг

Я бачив PILLOW в інших місцях, Подушка тут. cmdне відрізняється від регістру, але який спосіб є кращим?
Йосія Йодер

53

З іншого боку, я настійно рекомендую використовувати Подушку, яка назад сумісна з PIL і краще підтримується / працюватиме на новіших системах.

Коли це встановлено, ви можете зробити

import PIL 

або

from PIL import Image

тощо.


Жодна з інших відповідей не вирішила проблему, яку я мав, але ця.
MaxJ

49

Спочатку встановіть Подушку с

pip install Pillow

або наступним чином

c:\Python35>python -m pip install Pillow

Тоді в коді python ви можете зателефонувати

from PIL import Image

"Подушка - це вилка PIL, бібліотека зображень Python, яка більше не підтримується. Однак для підтримання зворотної сумісності використовується стара назва модуля." З встановленої подушки, але "жоден модуль не названий подушкою" - python2.7 - Windows 7 - python -m встановити подушку


5
я отримую вимогу вже задоволену, але все одно те саме питання
Saurabh Chandra Patel

21

Іноді я отримую такий тип помилок під час запуску Unitest в python. Рішення полягає в тому, щоб видалити та встановити той самий пакет у вашому віртуальному середовищі.

Використовуючи ці команди:

pip uninstall PIL

і

pip install  PIL 

Якщо з якоїсь причини ви отримаєте помилку, додайте sudo на початку команди та після натискання введіть введіть свій пароль.


2
Це також працює для мене. Подумайте, що можна використовувати інші сценарії Python, які опосередковано використовують PIL, зміна оператора Import не завжди є варіантом.
PropellerHead

Це не працювало для мене, не вдалося знайти сховище під назвою PIL (або pil). Однак я побіг "Pip install Pillow", який і працював. Я розумію, що Подушка - це гілка PIL.
Seb Charrot

Подушка @TeeBasins - це «дружня вилка PIL» від Алекса Кларка та співавторів.
JC Rocamonde

1
Я отримую "Не вдалося знайти версію, яка б задовольняла вимогу PIL (з версій
:)

20

Це працювало для мене на Ubuntu 16.04:

sudo apt-get install python-imaging

Я знайшов це в Wikibooks після пошуку близько півгодини.


3
Це запитання було задано перед Ubuntu 16.04, але я зустрів цю проблему в Ubunt 16.04 і вирішив її за вашою пропозицією.
foool

Радий, що можу допомогти! : D
grooveplex

Це було моїм питанням про RPI з OLED-екраном, що відображає вихід пітона
Ryan Ellis

10

Я використав:

pip install Pillow 

і Pip встановлено PIL у пакетах Lib \ site. Коли я переїхав PIL до Lib, все працювало нормально. Я в Windows 10.


9

У Windows 10 мені вдалося потрапити за допомогою:

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

після чого в python (python 3.7 в моєму випадку) це добре працює ...

import PIL
from PIL import image

Після оновлення Windows 7 до Windows 10 моя програма python не працювала, але цей метод вирішив її. Дякую!
користувач1785594

8

Ви повинні встановити Зображення та подушку разом із пакетом python.

тип

python -m pip install image 

або запустіть командний рядок (у вікнах), а потім перейдіть до папки сценаріїв

cd C:\Python27\Scripts

потім запустіть нижче команди

pip install image


6

У Windows спробуйте перевірити шлях до місця розташування бібліотеки PIL. У моїй системі я помітив шлях

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

Після перейменування pilпапки PILя зміг завантажити модуль PIL.


Я також отримував таку ж помилку імпорту. Я встановив PIL за допомогою easy_install. У пакунках сайтів він був встановлений у каталозі з іменем 'PIL-1.1.7-py2.7-win32.egg'. Згідно з вашою пропозицією, я змінив ім'я режисера на PIL і він спрацював. Дякуємо за вашу допомогу @Komla.
shashaDenovo

5

Вам потрібно буде встановити Зображення та подушку разом із пакетом python. Будьте впевнені, командний рядок подбає про все за вас.

Удар

python -m pip встановити зображення


4

замість PIL використовуйте Подушку, яка працює

easy_install Pillow

або

pip install Pillow


1

Я використовував conda-forge для установки подушки версії 5, і це, здавалося, працює для мене:

conda install --channel conda-forge pillow=5

нормальна подушка для встановлення конди НЕ працювала для мене.


0

У мене була така ж проблема під час імпорту PIL та подальшого імпорту модулів ImageTk та Image. Я також спробував встановити PIL безпосередньо через pip. але не вдасться досягти успіху. Оскільки між ними було припущено, що PIL був застарілим, тому намагався встановити подушку лише через піп. подушка була успішно встановлена, далі пакет PIL був виготовлений під трактом: python27 / Lib / site-пакети /.

Тепер і Image, і ImageTk можна імпортувати.


0

Нещодавно я встановив Leap. Я спробував відкритий знімок, і він не почався. Тож завітали сюди і знайшли пропозицію почати з Терміналу, щоб побачити, чи є помилка.

У мене була помилка error missing mlt. Тож я встановив python-mltмодуль від Yast та імпортував його, спробував запустити, але наступний знімок сказавmissing pil.

Я дотримувався пропозиції подушки встановити, оскільки Яст не зміг знайти жодного та імпортного стовпа. Це пішло нормально, але не почалося і показало Error missing goocanvas.

Я встановив goocanvasYast, імпортував його в python, і Openshot запустився !!

З великою кількістю помилок в терміналі, як missing Vimeoclientі багато attributeerrors. Ну, побачимо, чи має це якийсь вплив, працюючи з цим.


0

У мене була така ж проблема, і я вирішив її, перевіривши, що таке версія pip ( pip3 --version), потім зрозумівши, що я набираю python<uncorrect version> filename.pyзамістьpython<correct version> filename.py


-13

Ймовірно, вам не вистачає заголовків пітона для складання pil. Якщо ви використовуєте ubuntu або подібні, це буде щось на кшталт

apt-get install python-dev

Яку архітектуру ви використовуєте, якщо у вас є 64-бітний світ. Використовуйте 32 - бітну версію і використовувати неофіційну готову версію з тут
Crankyadmin

Це 32 біт, я встановлював це кілька разів, але цього разу у мене є ця проблема
Асма Гейсарі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.