Установка PIL (Python Imaging Library) в Win7 64 бит, Python 2.6.4 - PullRequest
64 голосов
/ 18 января 2010

Я пытаюсь установить указанную библиотеку для использования с Python. Я попытался загрузить исполняемый установщик для Windows, который работает, но говорит, что не находит установки Python. Затем попытался зарегистрироваться (http://effbot.org/zone/python-register.htm) Python, но скрипт говорит, что не может зарегистрироваться (хотя ключи появляются в моем реестре).

Затем я попытался загрузить исходный пакет: я запускаю сборку setup.py, и она работает, но когда я запускаю установку setup.py, она говорит следующее:

running install
running build
running build_py
running build_ext
building '_imaging' extension
error: Unable to find vcvarsall.bat

Что я могу сделать?

ОБНОВЛЕНИЕ (май 2014 г.): Как сказано в некоторых комментариях и ответах, PIL в настоящее время не поддерживается, и сейчас нужно использовать подушку (https://pypi.python.org/pypi/Pillow/, pip install pillow).

Ответы [ 10 ]

117 голосов
/ 02 января 2011

Я нашел работающий двоичный файл win7 здесь: Неофициальные двоичные файлы Windows для пакетов расширения Python Это от Кристофа Гольке из Калифорнийского университета в Ирвине. Существуют двоичные файлы для python 2.5, 2.6, 2.7, 3.1 и 3.2 для 32-битных и 64-битных окон.

Здесь также есть множество других скомпилированных пакетов.

Обязательно удалите старую версию PILfirst. Если вы использовали easy_install: easy_install -mnX pil
А затем удалите яйцо в python / Lib / site-packages

Обязательно удалите все другие неудачные попытки. Я переместил dll _image в Python *. * / DLL и мне пришлось удалить его.

29 голосов
/ 22 июля 2010

У меня только что была такая же проблема (с Python 2.7 и PIL для этих версий, но решение должно работать и для 2.6), и способ ее решения - скопировать все ключи реестра из:

HKEY_LOCAL_MACHINE\SOFTWARE\Python

до

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python

работал для меня

решение найдено по указанному ниже адресу, поэтому кредиты должны идти туда: http://effbot.slinkset.com/items/Adding_Python_Information_to_the_Windows_Registry

19 голосов
/ 18 января 2010

Компиляция PIL в Windows x64, по-видимому, немного проблематична. (Что ж, компиляция чего-либо в Windows - это немного болезненно в моем опыте. Но все же.) Как и сам PIL, вам понадобится построить много зависимостей. См. эти заметки из списка рассылки.

Существует неофициальный предварительно скомпилированный двоичный файл для x64, связанный с этим сообщением , но я сам не пробовал. Может быть, стоит попробовать, если вы не возражаете против загрузки с одного из этих немного хитрых сайтов для загрузки файлов. Кроме этого ... ну, вы всегда можете отказаться и вместо 32-битного двоичного файла Python.

3 голосов
/ 27 апреля 2010

Если вы установили win64 python, вам нужен win64 PIL.Насколько я могу судить, официальный сайт загрузки PIL имеет только win32.Установщик win32 не увидит вашу 64-битную установку на python.

Никакие изменения в разрешениях или распространяемых файлах не исправят это.Вместо этого вы можете использовать Win32 Python (Python Win64 в любом случае является мутантом; Microsoft решила, что C 'long' должен быть 32-битным в их 64-битном мире, поэтому в Python 'int' только 32-битные).

Так как sizeof (long)! = Sizeof (ptr) в win64, портирование расширений C может быть проблематичным и не будет таким же, как перенос их на linux 64. Например, кажется, что Win64 numpy экспериментальная / неработающая, тогда как linux64 numpyбыло хорошо в течение многих лет.Я рекомендую, если вы используете Win64, придерживайтесь Win32 Python.Если вы хотите 64-битный Python, используйте Linux.

1 голос
/ 18 января 2010

Я думаю, что у меня была похожая проблема в прошлом с другой библиотекой python. Я считаю, что это была проблема с разрешением Windows. Попробуйте добавить «Users» в каталог python и предоставить им полный доступ.

0 голосов
/ 26 июня 2014

http://www.lfd.uci.edu/~gohlke/pythonlibs/

нажмите contrl F Тип Подушка ‑ 2.4.0.win ‑ amd64 ‑ py3.3.exe

затем нажмите и загрузите 64-битную версию

Подушка - это замена PIL, библиотеки изображений Python, которая предоставляет функции обработки изображений и поддерживает множество форматов файлов. Примечание: используйте from PIL import Image вместо import Image. PIL-1.1.7.win-amd64-py2.5.exe PIL-1.1.7.win32-py2.5.exe Подушка-2.4.0.win-amd64-py2.6.exe Подушка-2.4.0.win-amd64-py2.7.exe Подушка-2.4.0.win-amd64-py3.2.exe Подушка-2.4.0.win-amd64-py3.3.exe Подушка-2.4.0.win-amd64-py3.4.exe Подушка-2.4.0.win32-py2.6.exe Подушка-2.4.0.win32-py2.7.exe Подушка-2.4.0.win32-py3.2.exe Подушка-2.4.0.win32-py3.3.exe Подушка-2.4.0.win32-py3.4.exe

0 голосов
/ 08 мая 2014

Подушка новой версии

Установщики PIL-1.1.7.win-amd64-py2.x доступны по адресу

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil

0 голосов
/ 13 августа 2010

У меня возникла та же проблема, поэтому я решил скачать исходный код и установить его в соответствии с тем, как вы написали выше ...

  1. Загруженный исходный комплект
  2. Открыл командную строку для этой папки и набрал python setup.py build
  3. Затем я набрал python setup.py install

Работало отлично!

Теперь несколько замечаний: когда я набрал python setup.py build, я увидел, что компилятор Microsoft Visual Studio v9.0 C используется для сборки всего.

Так что, вероятно, что-то с вашим компилятором неправильно настроено или что-то ...

В любом случае, это работало со мной, так что спасибо!

0 голосов
/ 19 мая 2010

Только что получил это сообщение об ошибке на моей 32-битной Windows - я читаю FAQ здесь: http://pythonware.com/products/pil/faq.htm, и это указывает на то, что Windows забавная.Снова посмотрел install pg и скачал исполняемый файл Windows для Python26 # Python Imaging Library 1.1.7 для Python 2.6 (только для Windows) - и модуль _imaging устанавливается при запуске этого.Должен решить проблему.Поэтому вы не можете просто выполнить процедуру установки python setup.py в: Python Imaging Library 1.1.7 Source Kit (все платформы) (15 ноября 2009 г.).

0 голосов
/ 18 января 2010

Убедитесь, что на вашем компьютере установлен распространяемый пакет Visual C ++.

...