【问题标题】:pip, PIL and Pillow点、PIL 和枕头
【发布时间】:2013-02-28 17:25:49
【问题描述】:

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

(novacek) $ pip install -r reqs.txt

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

如您所见,没有 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
--------------------------------------------------------------------

这很奇怪。我之前还获得了 Pillow 的设置摘要(启用了对 jpeg 和 zlib 顺便说一句的支持。因为 Pillow 实际上可以找到我的库)。

如果我在安装后从 virtualenv 运行 pip freeze,我会得到:

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

PIL 已陷入依赖关系。为什么?

【问题讨论】:

    标签: pip virtualenv python-imaging-library django-hvad


    【解决方案1】:

    这是完全正确的。 Pillow 是 PIL 的一个分叉,替代重新包装。

    来自PyPI page for Pillow

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

    • 公开开发和征求社区支持。
    • 探索 fork 中的打包问题,最引人注目的是通过添加 setuptools 支持以及打包代码的清理和重构。

    在包内部,这仍然是 PIL 项目,并且在编译时仍会以该名称发出消息。

    不幸的是,Pillow 并没有声称满足 PIL 要求,因此任何依赖 PIL 的东西仍然会拉入 PIL。

    【讨论】:

    • 好吧,我刚刚得到它。这是因为 photologue 包含 PIL 作为其依赖项。现在我正在尝试找出如何指定我不希望安装 PIL。
    • @clime: Pillow 满足 PIL 依赖。
    • 但是之后pip freeze不应将PIL报告为依赖项。
    • @clime: 对,可能是 pip 不知道 Pillow 和 PIL 是一回事。
    • @clime:得到枕头作者的确认;我错了,Pillow 不满足 PIL 依赖。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    相关资源
    最近更新 更多