如何与PyPy一起使用PIL?

2024-04-25 07:49:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我找了一点,但找不到一个图图来使用PIL和PyPy。根据PyPy的博客,PIL是受支持的。

  • 我在我的PYTHONPATH里安装了PIL和pip。
  • 下载后,pip生成2.pyd文件:imaging.pyd和imagingmath.pyd。
  • 安装后,我将%PYTHONPATH%/lib/site packages/PIL复制到PyPy site packages目录。
  • 当我运行我的脚本(使用PIL)时,它会说它无法导入成像C模块。

我该怎么做?

编辑: 我在Windows7x64(Python2.7.132bits)上运行这个

以下是回溯(pypy 1.4.1 windows二进制文件):

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

Tags: inpyimageselfpilmainpackagesline
2条回答

我做到了:

$ /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')

工作起来很有魅力。你也要这么做。:)

我没有简单的安装或pip安装,所以按照pip's documentation中的说明操作:

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

相关问题 更多 >