我安装了Ubuntu 12.04(精确穿山甲)并安装了一些包,PIL。现在我想使用Pillow,但不能与PIL同时安装。
我查看了virtualenv,但还有其他我不想安装的软件包。
有没有其他方法可以在没有碰撞的情况下进行设置?
答案 0 :(得分:2)
您应该使用Git克隆安装Pillow(根据需要选择/opt/pillow
):
python setup.py install --prefix /opt/pillow
然后它包含在您的代码中
import sys
sys.path.insert(0, "/opt/pillow")
在使用
导入Pillow之前from PIL import Image
这将首先搜索/opt/pillow
目录,没有该插入的任何内容将永远不会看到Pillow。
答案 1 :(得分:0)
我设置了一个Pillow的分支,当使用环境变量PILLOW_NAME
设置(例如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的软件包时,它会让您超越名称问题。