如何安装 python 图像库 (PIL)?

Dav*_*ary 39 python image-processing software-installation

如何在 Ubuntu 上安装 python 映像库 (PIL)?

我试着做

sudo apt-get install python-imaging
Run Code Online (Sandbox Code Playgroud)

但是现在当我运行 python selftest.py(我从http://pythonware.com/products/pil/网站上的某个地方获得的脚本)时,我得到(以及其他警告消息):

...
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
...
*** 1 tests of 57 failed.
Run Code Online (Sandbox Code Playgroud)

我是否以某种方式弄乱了 PIL - 我该如何解决?

也许 PIL 就好了,但是“selftest.py”并不是用于检查 PIL 是否安装正确的正确程序——我还能如何判断 PIL 是否安装正确?

(我使用的是 Ubuntu 12.04 LTS“精确穿山甲”)。

(我最终想要做的是在一些 python 代码中添加一个二维条码生成器,我能找到的所有用 python 编写的二维条码生成器似乎都使用了 PIL)。

Nic*_*ams 30

上述解决方案在 Ubuntu 12.10 上对我不起作用,因为 libjpeg 在存储库中不可用。

最终对我有用的是:

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev
Run Code Online (Sandbox Code Playgroud)

如果您收到错误“您必须在您的 sources.list 中放入一些‘源’URI”,那么请确保您的 /etc/apt/sources.list 具有与您的 deb 条目匹配的 deb-src 条目。

然后,您必须将文件从它们在服务器上的实际位置符号链接到 PIL 期望它们的位置。

32位版本

sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib/libfreetype.so
Run Code Online (Sandbox Code Playgroud)

64位版本

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so
Run Code Online (Sandbox Code Playgroud)

最后, pip install PIL

成功!

在此处输入图片说明


2014 年 9 月更新

Pillow 是一种更现代的 PIL 前叉。

#jpeg support
sudo apt-get install libjpeg-dev
#tiff support
sudo apt-get install libtiff-dev
#freetype support
sudo apt-get install libfreetype6-dev
#openjpeg200support (needed to compile from source)
wget http://downloads.sourceforge.net/project/openjpeg.mirror/2.0.1/openjpeg-2.0.1.tar.gz
tar xzvf openjpeg-2.0.1.tar.gz
cd openjpeg-2.0.1/
sudo apt-get install cmake
cmake .
sudo make install
#install pillow
pip install pillow
Run Code Online (Sandbox Code Playgroud)

  • 也为我工作(14.04 LTS 64 位,未从上面修改): sudo apt-get build-dep python-imaging sudo apt-get install libjpeg62 libjpeg62-dev (2认同)

Her*_*ntz 26

类似的事情发生在我身上,我是这样解决的

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
Run Code Online (Sandbox Code Playgroud)

并尝试通过pip install PIL.

更多关于什么pip可以在这里找到。简而言之,这是一种方便(并成为标准)的安装 python 库的方法。

如果它继续失败,可能是由于 PIL 在不同的路径中搜索这些库。

事实证明,APT 安装将库放在/usr/lib/x86_64-linux-gnu 下,PIL 将在/usr/lib/ 中搜索它们。所以你必须为 PIL 创建符号链接才能看到它们。

尝试查看/usr/lib/x86_64-linux-gnu 中是否存在 libjpeg 和 libz 库,并以这种方式创建符号链接

sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/
Run Code Online (Sandbox Code Playgroud)

来源: http : //jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/

  • 尽可能使用“枕头”。它本质上是 PIL,但实际上得到了维护。 (8认同)

Lyn*_*nob 14

我只想补充一点,这 pip install pil不再有效,至少在我的机器上,你必须这样做

pip install PIL --allow-external PIL --allow-unverified PIL

  • 尝试使用 ``pip install Pillow`` 而不是 ``pip install Pillow`` (后者不存在) (6认同)