Python 无法在Ubuntu 12.04上正确安装PIL

Python 无法在Ubuntu 12.04上正确安装PIL,python,python-imaging-library,pip,Python,Python Imaging Library,Pip,我正在使用Ubuntu12.04,我在地狱里。我已经尝试了所有我能在网上找到的安装PIL的方法的建议,但我没有运气。我知道事实上我有很多依赖。我已经尝试了所有的符号链接方法。我修改了setup.py文件,以确保它找到正确的目录。我也尝试过从源代码构建并通过pip安装。什么都不管用。以下是我安装时得到的信息: -------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY --

我正在使用Ubuntu12.04,我在地狱里。我已经尝试了所有我能在网上找到的安装PIL的方法的建议,但我没有运气。我知道事实上我有很多依赖。我已经尝试了所有的符号链接方法。我修改了setup.py文件,以确保它找到正确的目录。我也尝试过从源代码构建并通过pip安装。什么都不管用。以下是我安装时得到的信息:

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.3 (default, Nov  4 2012, 15:42:19)
          [GCC 4.4.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
下面是selftest.py显示的内容:

--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from ./PIL
Binary modules loaded from ./PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
*** FREETYPE2 support not installed
*** LITTLECMS support not installed
--------------------------------------------------------------------

我不知道还能尝试什么。我只是想玩一些愚蠢的PNG文件…

最简单的方法应该是:

sudo apt-get install python-imaging
如果您需要在virtualenv中安装,或者想要绝对最新版本,请使用pip。首先安装pil需要的一些东西,然后运行pip安装:

sudo apt-get install libjpeg-dev libjpeg62 libjpeg62-dev zlib1g-dev libfreetype6 libfreetype6-dev
pip install PIL
回应下面的评论。如果您重新安装ubuntu 12.04并运行apt get install python imaging,那么您的系统将正确安装PIL。在我的ubuntu 12.04上,当我运行selftest.py时,我得到以下输出:

--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from /usr/lib/python2.7/dist-packages/PIL
Binary modules loaded from /usr/lib/python2.7/dist-packages/PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok
--- LITTLECMS support ok
--------------------------------------------------------------------
您正在寻找的PNG支持显示为ok。我怀疑您的python安装可能处于某种损坏状态。可能是您提到的符号链接或安装此软件包的其他尝试损坏了您的安装。我可以提出三条建议来纠正这种情况

解决方案

在机器上重新安装ubuntu。这肯定行得通。 创建一个python,然后使用pip在那里安装PIL。这可能取决于基本python系统的损坏程度。这里的想法是,virtualenv默认情况下将创建一个新的python环境,其中只有标准库。 修复python安装。您可以尝试清除python映像,然后重新安装python映像包。
如果您在64位Ubuntu上运行,除了Marwan步骤外,可能还需要另一个步骤:

PIL安装程序在/usr/lib中查找库,但Ubuntu 64将它们放在/usr/lib/x86_64-linux-gnu中。一个有效的解决方案是创建链接:

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
我遇到过一起安装PIL和枕头的问题

如果我使用apt-get-install-python-imaging安装PIL,然后运行selftest.py,我就可以得到:

--- PIL CORE support ok
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok
--- LITTLECMS support ok
如果我随后通过sudo pip install Pillow安装枕头,然后重新运行selftest.py,我会得到:


为了解决多个支持不可用的问题并恢复到初始状态,我刚刚卸载了枕头。

我已经远远超过了这一点。结果与上面相同。我收到一个错误:命令“i686 linux gnu gcc”失败,退出状态为1。安装PIL时。你知道为什么会出现这个吗?@MarwanAlsabbagh+1谢谢你的解释,这是我找到的最好的。我解决了运行sudo-apt-get-remove-python-imaging和sudo-apt-get-install-python-imaging的问题
--- PIL CORE support ok
*** TKINTER support not available
(Tcl/Tk 8.5 libraries needed)
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
*** TIFF G3/G4 (experimental) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
*** WEBP support not available