pip,PIL和Pillow

cli*_*ime 3 pip virtualenv python-imaging-library django-hvad

我运行以下命令将项目依赖项安装到virtualenv中novacek:

(novacek) $ pip install -r reqs.txt
Run Code Online (Sandbox Code Playgroud)

reqs.txt 看起来像这样:

Django==1.4.4
Pillow==1.7.8
South==0.7.6
django-bootstrap-toolkit==2.8.0
django-debug-toolbar==0.9.4
django-filebrowser==3.5.1
-e git+https://github.com/ir4y/django-flatblocks.git@4f8b2c86fe94e19dc7aa86b80a204918e2142aff#egg=django_flatblocks-dev
django-generic-flatblocks==0.9.1
django-grappelli==2.4.3
django-hvad==0.2
django-photologue==2.5
docutils==0.10
psycopg2==2.4.6
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)

如你所见,没有PIL包,只有Pillow,但在安装过程的最后我得到了这个:

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.3 (default, Feb 21 2013, 13:39:24)
              [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

这很奇怪.我也得到了枕头设置总结前面(与JPEG和zlib BTW启用的支持.如枕头实际上可以找到我的库).

如果我在安装后从virtualenv运行pip冻结,我得到这个:

Django==1.4.4
PIL==1.1.7
Pillow==1.7.8
South==0.7.6
django-bootstrap-toolkit==2.8.0
django-debug-toolbar==0.9.4
django-filebrowser==3.5.1
-e git+https://github.com/ir4y/django-flatblocks.git@4f8b2c86fe94e19dc7aa86b80a204918e2142aff#egg=django_flatblocks-dev
django-generic-flatblocks==0.9.1
django-grappelli==2.4.3
django-hvad==0.2
django-photologue==2.5
docutils==0.10
psycopg2==2.4.6
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)

PIL已经进入了家属.为什么?

Mar*_*ers 6

这是完全正确的.枕头是PIL的替代重新包装.

PillowPyPI页面:

fork作者的目标是通过以下方式促进包装改进:

  • 公开发展和征求社区支持.
  • 探索fork中的打包问题,最明显的是通过添加setuptools支持,还可以通过清理和重构打包代码.

在包中,这仍然是PIL项目,并且在编译时仍将以该名称发出消息.

不幸的是,Pillow并没有声称满足PIL的要求,所以任何依赖于PIL的东西都会依赖PIL.

  • @clime:得到枕头作者的确认; 我错了,Pillow不满足PIL依赖. (2认同)