pip安装PIL失败

70

我正在尝试安装pip包PIL。然而,安装失败并抛出以下错误。

Could not find a version that satisfies the requirement pil (from xhtml2pdf==0.0.4->-r virtualenv-reqs.txt (line 16)) (from versions: )
  Some externally hosted files were ignored as access to them may be unreliable (use --allow-external pil to allow).
No matching distribution found for pil (from xhtml2pdf==0.0.4->-r virtualenv-reqs.txt (line 16))

当我使用旧版本的pip时,安装是有效的。但是使用当前版本的pip7.1.2时,我无法下载软件包。我正在使用以下命令来安装pip软件包。

pip install --timeout=1000 -i http://pypi.ksjc.sh.colo/simple --trusted-host pypi.ksjc.sh.colo -r virtualenv-reqs.txt

这个问题出在哪里呢?我原以为是SSL问题,所以加了--trusted-host标志。有没有办法使用--allow-external标志与virtualenv-reqs文件一起使用。


4
你尝试过安装Pillow吗?在pip中安装PIL有点复杂。Pillow是一个可替换的解决方案。 - Rod Xavier
@RodXavier 我正在安装 pillow,但是我正在安装的另一个包 xhtml2pdf 需要 pil - user3831214
根据错误信息:--allow-external pil(不确定是否与virtualenv-reqs冲突) - Alexander
当我查看 https://github.com/xhtml2pdf/xhtml2pdf 时,我发现在 requirements.txt 中提到了 pillow,而不是 PIL。因此,PIL 实际上并不是 xhtml2pdf 的要求。 - Michiel Overtoom
@MichielOvertoom 哦,那很有趣,为什么它说找不到匹配的分发版本 pil(***来自 xhtml2pdf...***)? - user3831214
@Alexander,当我只想安装PIL时,使用它是有效的,但有没有办法在virtualenv-reqs中使用它? - user3831214
5个回答

92

Pillow是PIL的一个维护版本,因此我建议使用Pillow。但你不能同时安装两者。

  1. 首先,删除PIL和Pillow。

  2. 然后使用pip install pillow安装Pillow(不过根据平台的不同,您可能需要一些先决条件)。

  3. 然后确保代码使用from PIL import Image而不是import Image


2
在使用Ubuntu 14.04 LTS时,唯一有用的方法是:$ sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk - lv10
2
我尝试了这个,但是当我进行第三步时,它会显示“没有名为 PIL 的模块”。 - hiquetj
1
@hiquetj 我也遇到了同样的问题。通过添加要求 pillow >= 4 解决了问题。 - xtofl
全局名称 'PIL' 未定义。 - Eddie

14
你可以尝试使用Pillow,它是PIL的一个分支:

Pillow

pip install Pillow

要导入,请使用以下代码:

from PIL import Image

1

一个适合我的解决方案:

只需使用pip install -U Pillow安装最新版本的Pillow,我现在就可以调用import PIL.Image了。


1
我正在使用PyCharm IDE,遇到了这个问题。我只需将鼠标悬停在“PIL”上,就会出现一个小弹窗。我点击更多操作,然后出现了几个选项。我点击了“安装Pillow”,问题就解决了。

提供文档链接会让这个答案更加清晰。 - jeffrey

0
一个解决方案是右键单击“from PIL import Image”,然后点击“安装Image”。
我正在使用PyCharm IDE。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接