首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pip安装PIL -E票证-1-不支持JPEG/PNG

pip安装PIL -E票证-1-不支持JPEG/PNG
EN

Stack Overflow用户
提问于 2011-10-04 12:53:26
回答 3查看 15.9K关注 0票数 29

我在我的Django项目中使用Ubuntu和VitualEnv。

我使用安装了PIL库,它运行良好。但是,当我创建一个VitrualEnv并尝试使用pip安装PIL时,我会发现这种奇怪的行为:

代码语言:javascript
复制
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
              [GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

我希望我能用requirements.txt来处理我所有的依赖关系,但是可能是PIL需要手动安装.但是怎么做呢?

编辑:谢谢约翰·凯斯,你说得对,我跑:

代码语言:javascript
复制
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/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/

在再次尝试PIL安装之后,我得到:

代码语言:javascript
复制
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
              [GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
-    -------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

编辑:您可能需要安装libfreetype6-dev libjpeg8-dev

编辑:另一个好的选择是使用枕头而不是PIL

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-04 13:04:50

这个在ubuntu论坛上的线程涵盖了这个主题。

票数 9
EN

Stack Overflow用户

发布于 2013-05-25 09:47:54

如果您使用的是virtualenv,则不需要创建系统范围的符号链接,以下是适用于任何体系结构的通用解决方案:

代码语言:javascript
复制
ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libz.so $VIRTUAL_ENV/lib/
ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libfreetype.so $VIRTUAL_ENV/lib/
ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libjpeg.so $VIRTUAL_ENV/lib/

您需要在virtualenv激活的shell会话中执行这些行,符号链接将在您的虚拟lib目录中创建。

命令dpkg-architecture -qDEB_HOST_MULTIARCH用于检测主系统libs目录(uname -i不可靠)。环境变量$VIRTUAL_ENV由虚拟activate脚本设置。

票数 6
EN

Stack Overflow用户

发布于 2012-07-19 18:06:01

一个似乎对我们有效的解决方案(PIL1.7.7)是先卸载PIL,然后再卸载枕头,然后pip安装枕头-升级。当然,您需要安装libjpeg8-dev。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7648200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档