我安装了Ubuntu 12.04 (Precise Pangolin) 并安装了一些软件包,PIL。现在我想使用 Pillow,但是不能和 PIL 同时安装。
我查看了 virtualenv,但还有其他我不想安装的软件包。
有没有另一种方法可以在没有冲突的情况下进行设置?
我安装了Ubuntu 12.04 (Precise Pangolin) 并安装了一些软件包,PIL。现在我想使用 Pillow,但是不能和 PIL 同时安装。
我查看了 virtualenv,但还有其他我不想安装的软件包。
有没有另一种方法可以在没有冲突的情况下进行设置?
您应该从 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。
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 的包时,它会让您解决名称问题。