Как использовать PIL с PyPy?

8

Я немного искал, но я не мог найти туту, чтобы использовать PIL с PyPy. Согласно блогу PyPy, поддерживается PIL.

  • Я установил PIL с пипсом в свой PYTHONPATH.
  • После загрузки pip создаст 2 файла .pyd: _imaging.pyd и _imagingmath.pyd.
  • После установки я скопировал% PYTHONPATH%/lib/site-packages/PIL в каталог PyPy сайтов-пакетов.
  • Когда я запускаю свой script (который использует PIL), он говорит, что не может импортировать модуль _imaging C.

Как мне это сделать?

изменить: Я запускаю это на Windows 7 x64 (python 2.7.1 32bits)

здесь находится traceback (двоичный файл pypy 1.4.1):

Traceback (most recent call last):
  File "app_main.py", line 53, in run_toplevel
  File "tools\python\gen_images.py", line 52, in <module>
    main()
  File "tools\python\gen_images.py", line 44, in main
    image = Image.open(file)
  File "d:\pypy\site-packages\PIL\Image.py", line 1965, in open
    return factory(fp, filename)
  File "d:\pypy\site-packages\PIL\ImageFile.py", line 91, in __init__
    self._open()
  File "d:\pypy\site-packages\PIL\GifImagePlugin.py", line 97, in _open
    self.seek(0) # get ready to read first frame
  File "d:\pypy\site-packages\PIL\GifImagePlugin.py", line 152, in seek
    self.dispose = Image.core.fill("P", self.size,
  File "d:\pypy\site-packages\PIL\Image.py", line 37, in __getattr__
    raise ImportError("The _imaging C module is not installed")
ImportError: The _imaging C module is not installed
  • 0
    Вы можете показать ошибку? У меня это отлично работает, с PyPy 1.4.1. (1.4.0 дал ошибки компиляции).
  • 1
    очевидно, вы скомпилировали с использованием CPython и надеялись, что он будет работать, просто скопировав его. Не делай этого. Компиляция с использованием PyPy.
Показать ещё 3 комментария
Теги:
python-imaging-library
pypy

2 ответа

12
Лучший ответ

Я сделал это:

$ /opt/pypy-1.4.1/bin/virtualenv test
$ cd test
$ bin/pip install PIL
...
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.5.2 (e503e483e9ac, Dec 21 2010, 12:02:29)
              [PyPy 1.4.1]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
... 
$ bin/pypy
Python 2.5.2 (e503e483e9ac, Dec 21 2010, 12:02:29)
[PyPy 1.4.1] on linux2
>>>> import Image
>>>> im = Image.open('/path/to/file.jpg')
>>>> outfile = open('/path/to/file.png', 'wb')
>>>> im.save(outfile, 'png')

Работал как шарм. Так и сделайте это.:)

  • 0
    да, извините, я забыл упомянуть, что я пытаюсь использовать его в Windows.
  • 0
    @Syl: AFAIK, это не должно иметь никакого значения.
Показать ещё 7 комментариев
1

У меня не было установлено easy_install или pip, поэтому следуйте инструкциям в документации по протоколу:

wget https://bootstrap.pypa.io/get-pip.py
pypy get-pip.py
pypy -m pip install pillow

Ещё вопросы

Сообщество Overcoder
Наверх
Меню