Ошибка при установке Pillow (модуль Python) в Linux
Я пытаюсь установить Pillow (модуль Python) с помощью pip, но он вызывает эту ошибку:
ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting
Так как ошибка говорит, я пробовал:
pip install pillow --global-option="--disable-jpeg"
Но он терпит неудачу:
error: option --disable-jpeg not recognized
Любые подсказки, как с этим бороться?
Ответы
Ответ 1
Спасибо @mfitzp. В моем случае (CentOS) эти библиотеки недоступны в репозитории yum, но на самом деле решение было еще проще. Что я сделал:
sudo yum install python-devel
sudo yum install zlib-devel
sudo yum install libjpeg-turbo-devel
И теперь установка подушки завершается успешно.
Ответ 2
Существует ошибка сообщалось Pillow здесь, что указывает на то, что libjpeg
и zlib
теперь требуется от подушки 3.0.0.
Инструкции по установке Pillow на Linux содержат рекомендации по установке этих пакетов. Обратите внимание, что не все следующие пакеты могут отсутствовать на вашем компьютере (комментарии показывают, что на самом деле отсутствует только libjpeg8-dev
).
pip/PyPi (Подушка> 3.4.2)
Последние версии Pillow доступны на PyPi в виде колес - нового стандартного механизма упаковки для Python. Эти готовые пакеты включают все необходимые двоичные зависимости, позволяющие запускать Pillow, и их следует использовать, если вы хотите установить Pillow с использованием PyPi
Чтобы использовать колеса, вам нужно иметь версию pip>=1.4
. Если вы используете более раннюю версию (pip --version
), обновите pip с помощью следующего:
pip install --upgrade pip
После того, как pip
повышен, pip install
будет использовать специфичные для платформы файлы колеса по умолчанию, если они доступны. Используйте следующую команду, чтобы обновить Pillow до последней версии, доступной в PyPi:
pip install --upgrade pillow
Ubuntu 12.04 LTS или Raspian Wheezy 7.0
sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk
Ubuntu 14.04
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Ubuntu 18.04
sudo apt install libjpeg8-dev zlib1g-dev
Fedora 20
Эквивалентом libjpeg8-dev
Fedora 20 является libjpeg-devel
.
sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel
Mac OS X (через Homebrew)
В Mac OS X с Homebrew это можно исправить с помощью:
brew install libjpeg zlib
Вам также может понадобиться принудительно связать zlib с помощью следующего:
brew link zlib --force
ПРИМЕЧАНИЕ: в Мохаве вышеописанное не будет работать, и вам нужно выполнить следующее, как взято из этого сообщения об ошибке на подушке
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Благодаря Panos Angelopoulou, Нельсонварела, Феникс в комментариях.
Обновление от 5 июля 2016 года: в текущих версиях Homebrew вышеупомянутое может больше не работать, так как больше нет формулы для zlib
доступной в основном репозитории (Homebrew предложит вам установить lzlib
которая является другой библиотекой, и не решит эту проблему).
В репозитории dupes доступна формула. Вы можете нажать на этот репозиторий и установить как обычно:
brew tap homebrew/dupes
brew install zlib
Или вместо этого вы можете установить zlib
через xcode
следующим образом:
xcode-select --install
Благодаря Бенджаминзу в комментариях и ответу Кал ниже
После того, как они установлены, установка подушек должна работать нормально.
Ответ 3
На малине pi II у меня была та же проблема. Попробовав следующее, я решил проблему. Решение:
sudo apt-get update
sudo apt-get install libjpeg-dev
Ответ 4
Самое быстрое исправление - обновить пип. Работал для меня:
pip install --upgrade pip
Ответ 5
Это сработало для меня.
`sudo apt-get install libjpeg-dev`
Ответ 6
brew install zlib
в OS X больше не работает и вместо этого запрашивает установку lzlib
. Установка этого не помогает.
Вместо этого вы устанавливаете инструменты командной строки XCode и устанавливаете zlib
xcode-select --install
Ответ 7
У меня был ValueError: zlib is required unless explicitly disabled using --disable-zlib
но обновляющий пипс с 7.x до 8.y разрешил проблему.
Итак, я бы попытался обновить инструменты раньше всего.
Это можно сделать, используя:
pip install --upgrade pip
Ответ 8
Это помогло мне решить ошибку jpeg и zlib:
C:\Windows\system32>pip3 install pillow --global-option="build_e
xt" --global-option="--disable-zlib" --global-option="--disable-jpeg"
Ответ 9
Альтернатива, если вы не хотите устанавливать libjpeg:
CFLAGS="--disable-jpeg" pip install pillow
Из https://pillow.readthedocs.io/en/3.0.0/installation.html#external-libraries
Ответ 10
Пытаться
pip install pillow
Если это не работает, попробуйте очистить
cache by pip install --upgrade pip
Потом опять беги
pip install pillow
Ответ 11
На debian/ubuntu вам нужно только:
libjpeg62-турбо-DEV
Итак, простой sudo apt install libjpeg62-turbo-dev
и a pip install pillow