2

我安装了Ubuntu 12.04 (Precise Pangolin) 并安装了一些软件包,PIL。现在我想使用 Pillow,但是不能和 PIL 同时安装。

我查看了 virtualenv,但还有其他我不想安装的软件包。

有没有另一种方法可以在没有冲突的情况下进行设置?

4

2 回答 2

2

您应该从 Git 克隆安装 Pillow(/opt/pillow根据需要选择):

python setup.py install --prefix /opt/pillow

然后它包含在你的代码中,

import sys
sys.path.insert(0, "/opt/pillow")

在导入枕头之前

from PIL import Image

这将/opt/pillow首先搜索目录,没有该插入的任何内容都不会看到 Pillow。

于 2013-11-16T10:30:55.980 回答
0

PILLOW_NAME当使用环境变量集(例如)构建时,我设置了一个 Pillow 的分支,它可以任意伪装其包名称PILLOW_NAME=PIL。所以你可以像这样在 PIL 包名下安装 Pillow:

$ PILLOW_NAME=PIL pip install -U https://github.com/fish2000/Pillow/archive/master.zip

...如果你愿意,你可以像这样检查自定义包名安装:

$ pip freeze | grep -i pil
[...]
PIL==2.3.0
$ python -c 'from PIL import Image' && echo "PIL installed OK"
PIL installed OK

如果您以“PIL”的名称安装了这个 Pillow fork,您将能够安装需要 PIL 的软件包。请记住:如果这些包依赖于旧的 PIL 特定行为(例如import Image和朋友),这将无济于事 - 但在安装特别需要 PIL 的包时,它会让您解决名称问题。

于 2013-12-16T14:30:10.940 回答