3

我正在尝试能够导入 png,我相信它来自 PIL。我也希望JPEG和其他人也能工作

我正在运行 Ubuntu 11.10。

现在从http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/
我想出了一些事情。

我试过

$ sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev  
pip install PIL  
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  
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib  
pip install -U PIL  

支持他/她的所有 JPEG、ZLIB、FREETYPE2 的地方我说没有安装支持

我还去了如何在 Ubuntu 11.04 中安装 PIL?然后我尝试
sudo apt-get install python imaging通过所有setup.py andselftest.py`,但仍然无法正常工作
我继续尝试从PIL 编码器 jpeg not available。我从 pythonware.com 下载了源文件并使用 mv 移动到 usr/lib 然后,根据 stackoverflow 说明,我尝试在第 213 行之后添加一行:

add_directory(library_dirs, "usr/lib")  
sudo python setupt.py install  
python selftest.py  

但仍然 JPEG、ZLIB、FREETYPE2 是“未安装支持,但现在有另一行说未安装 LITTLECMS 支持。

请帮我解决这个问题。

4

3 回答 3

2

对我来说,存储库版本在 11.10 上运行良好。你用过:

sudo apt-get install python-imaging

请注意 python 和图像之间的破折号,其中有一个空格。setup.py除非您出于某种原因实际上需要从源代码构建,否则您不需要手动运行或任何这些废话。PNG应该开箱即用。

于 2012-03-23T01:14:58.350 回答
1

在 Ubuntu 12.04 上,我通过http://effbot.org/zone/pil-decoder-jpeg-not-available.htm上的“规范”评论解决了这个问题

  1. 手动下载 PIL
  2. 修改 JPEG_ROOT 以指向 jpeg lib 位置:x86 上的 /usr/lib 或 /usr/lib/i386-linux-gnu 和 x64 上的 /usr/lib/x86_64-linux-gnu
  3. 使用 python setup.py clean --all 清理项目(如果已经构建)
  4. 在 x86 和 x64 上,我发现 _imagingmath.so 和 _imaging.so 在 /usr/local/lib/python2.7/dist-packages 目录以及 /usr/local/lib/python2.7/dist-packages/ 下皮尔。我删除了第一个,因为它们是在 PIL 分发之前加载的。
  5. python setup.py 构建
  6. python setup.py 安装

这是在 Django/Mezzanine CMS 使用的上下文中。

于 2012-08-27T17:24:33.613 回答
0

这些都不适合我,Ubuntu 14.04。我必须从源代码编译所有内容,但我不得不说这是最甜蜜的。没有错误。从以下链接下载并遵循各种自述文件。在执行指令时,请确保您是 root。从http://www.ijg.org/下载并安装 JPEG 。从http://www.zlib.net/下载并安装 PNG 。从http://download.savannah.gnu.org/releases/freetype/下载并安装 Freetype 。

从http://www.pythonware.com/products/pil/下载并安装 PIL 。在这最后一步中,确保按照自述文件,您可以看到在安装过程中正确安装的那些

python setup.py build_ext -i

在某些情况下,以下命令可能会告诉您其他信息,但请忽略它。蟒蛇自我测试.py

干杯。:-)

于 2014-11-12T17:28:52.070 回答