Нет модуля с именем PIL

Я знаю, что PIL устарел, поэтому вместо этого я установил Pillow, а для соображений обратной совместимости Pillow по-прежнему использует PIL в качестве имени своего модуля. Здесь мой замерзающий вид похож на подушку: Подушка = 3,2,0

Вот как я использую его в своем коде:

import  PIL as pillow
from PIL import Image

Как кто-то предложил в аналогичной должности, также, я пробовал

import  PIL 
from PIL import Image

Ничего не работает. Оба дают мне эту ошибку:

ImportError: No module named PIL

Кроме того, я пробовал:

import Image

это дает мне:

ImportError: No module named Image

Помощь действительно оценена!

Ответы

Ответ 1

В соответствии с моим комментарием, так как он помог вам и ответил на вашу проблему:

Проблема, с которой вы сталкивались, заключается в том, что у вас был протокол версии 1.5.6, а версия pip определяет, как распаковываются пакеты, что в конечном итоге определяет, правильно ли загружаются модули.

Все, что необходимо:

pip install --upgrade pip

Это позволяет самому модернизировать программу.

Используйте sudo, если вы находитесь на Mac/Linux, иначе вам, скорее всего, потребуется "Запуск от имени администратора" в Windows.

И теперь вы можете правильно импортировать модули PIL:

Python 2.7.12 (default, Jun 29 2016, 13:16:51)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> from PIL import Image
>>> Image
<module 'PIL.Image' from '/usr/local/lib/python2.7/site-packages/PIL/Image.pyc'>

Ответ 2

В моем случае, в Windows, все, что мне нужно сделать, это запустить:

pip install pillow

Ответ 3

Вы можете использовать python -m pip install Pillow или pip install Pillow

Ответ 4

У меня эта проблема возникла совсем недавно, поэтому позвольте мне поделиться своим мнением об этом. Я на Mac OS X Мохаве 10.14. Я пытался запустить pip install pillow много раз вслепую, не находя более глубокого понимания, где мой python ищет свои пакеты.

Я столкнулся с этой ошибкой при обновлении с OS X High Sierra до Mojave. Мой ранее работающий проект Scrapy просто перестал работать правильно.

Обратите внимание, что я не использовал virtualenv.

Во-первых, вам нужно проверить, какой python используется системой. В Терминале беги

which -a python

Вы получите что-то похожее на это:

nicholass-mbp:~ nicholaslie$ which -a python/usr/local/bin/python/usr/local/bin/python/usr/bin/python

Это приводит меня к поиску в папке /usr/local/. Оказывается, там есть папка, в которой мой python ищет свои пакеты, и она находится внутри /usr/local/lib/python2.7 (python) или /usr/local/lib/python3.7 (python3)

Моя нынешняя pip install pillow пакет PIL в каталоге /usr/local/lib/python2.7/site-packages, но не в /usr/local/lib/python3.7/site-packages

PIL in /usr/local/lib/python2.7/site-packages

Однако, так как мой проект использует Python 3, No module named PIL error просто сообщает вам, что используемый python3 экземпляр python3 не может найти библиотеку PIL.

Я использовал Homebrew для управления своими системными пакетами, такими как node, python и т.д. Итак, я переустановил python3 с Homebrew с помощью:

brew reinstall python, затем запустить pip3 install pillow.

Просто убедитесь, что пакет PIL правильно установлен в /usr/local/lib/python3.7/site-packages и все будет хорошо. Надеюсь, это кому-нибудь поможет.

Ответ 5

OSX

sudo easy_install pip
pip install Pillow --user

Ответ 6

Я все еще получаю ModuleNotFoundError: Нет модуля с именем 'PIL', я использовал Homebrew, но мой pycharm все еще возвращает ошибку