2010-06-19 131 views
15

我安装了PIL(Python图像库)。PIL错误:未安装_imaging C模块

当我运行的Python:

import PIL 
import Image 
import _imaging 

我不明白的错误。但是,运行我的应用程序时,它会引发

The _imaging C module not installed 
+0

我有同样的问题。在** python 2.7.8 **(当前最新版本)的干净安装之上清洁安装** PIL 1.1.7 **(当前最新版本)修复了这个问题。确保你的Python 2.7是** 32位**。 – 2014-08-02 15:08:15

回答

3

我贴你送(感谢你)的链接这种反应,但想我会发布的来源。对不起,这个傻瓜帖子。

我希望有一种方法可以在不重新编译的情况下做到这一点。我恰好在使用virtualenv。我确实发现,如果我吹掉我的虚拟env安装,然后用pip重新安装,Imaging重新开始工作。这些步骤似乎工作(注意,我使用OSX)

不知道这比什么都重要,但检查是否JPEG安装

winesap:~ $ port installed | grep -i jpeg 
    jpeg @7_0 
    jpeg @8a_0 (active) 

确保我有PIP安装

sudo port -v install py26-pip 

删除旧的虚拟环境我有,然后重新创建

rm -rf ve 
virtualenv –no-site-packages –distribute ve 
. ./ve/bin/activate 

安装PIL和djan进入虚拟环境

echo “pil” > requirements.pip 
echo “django” >> requirements.pip 
pip-2.6 install -E ./ve/ -r requirements.pip 

测试以查看导入现在是否有效。注意缺乏令人讨厌的C模块错误

python 
>>import import ImageFont 
>> 

希望这是有用的。

+0

是的,没有问题,我的是完全基于纯粹的Apache Apache mod_wsgi django和python – ApPeL 2010-06-29 06:57:01

3

在Windows上,删除C:\ Python27中的_imaging.pyd和_imagingft.pyd。 将所有_imaging模块留在C:\ Python27 \ Lib \ site-packages \ PIL文件夹中。

它适用于我。

2

如果from PIL import Image有效但import _imaging失败,以下是一些可能对您有帮助的事情。如果Image也不成功,最后请参阅备注

在Ubuntu 13.04(raring)上,我遇到了这个问题。事实证明,Ubuntu在App Engine不期望的地方安装_imaging.so/usr/lib/python2.7/dist-packages而不是/usr/lib/python2.7/dist-packages/PIL。所以_imaging.so并不在sys.path的任何地方。

下面是解决此一对夫妇的方式:

把PIL的C模块已经某处的道路上:

我注意到,/path/to/google_appengine/lib/PIL-1.1.7sys.path,但目录并没有在我的安装存在。所以我创建了目录并将.so文件复制到其中,并且一切正常。每次更新App Engine SDK时,都必须重新执行此操作,但至少不会混淆正在开发的代码。

main.py操纵sys.path中:

该代码会检查我们是否正在运行的开发应用程序服务器,如果是的话,正确的目录添加到路径。未经测试,但它应该工作;)

# Find _imaging.so and put its directory here. 
# `locate _imaging.so` or `dpkg -L python-imaging` 
PIL_PATH = '/usr/lib/pyshared/python2.7/' 

PRODUCTION_MODE = not os.environ.get(
    'SERVER_SOFTWARE', 'Development').startswith('Development') 

if not PRODUCTION_MODE: 
    sys.path.insert(PIL_PATH) 

我想,这可能会使不仅仅是提供给您的PIL模块的更多,这样就会推出(但更多)的研发和生产之间的差异。此外,这项技术涉及修改您的应用程序的源代码,如果有多人开发它,这看起来像是一个糟糕的电话。


:如果import Image失败,你可能会忘记了PIL库添加到您的app.yaml

libraries: 
- name: PIL 
    version: "latest" 

您可能需要添加此库,用于在例如反映更改后重新启动dev_appserver.py交互式控制台。

0

为什么这个问题的存在,是与PIL 1.1.6? (只有1.1.7), 版本1.1.6是否不使用这些库?

PIL 1.1.6还使用其内部的C库来加快速度。

对于Windows,您应该使用预编译的软件包。 http://www.pythonware.com/products/pil/提供了用于 1.1.7的X86 Windows二进制文件。您可能会遇到1.1.7 Windows二进制文件的问题。 freetype C库的 引用了一个在所有 机器上都不可用的调试CRT。您可以使用十六进制编辑器轻松修补_imagingft.pyd文件。

+0

你能否帮助详细如何解决_imagingft.pyd文件中的CRT引用十六进制编辑器?谢谢 – egesuato 2017-10-17 12:10:33

+0

看看这里的解决方案,看看它是否有帮助https://bitbucket.org/effbot/pil-117/issues/1/windows-build-of-_imagingft-module-fails。请仔细检查它们,并在尝试解决方案之前进行备份 – Transformer 2017-10-21 21:31:44

0

我完全错过lib/site-packages/PIL文件夹中的_imaging.*文件。

我下载了鸡蛋从这里(正确的文件取决于平台):

https://pypi.python.org/pypi/Pillow/2.7.0

改名从.egg为.zip and copied all the files in the folder PIL that start with _imaging to the folder的lib/site-packages中/ PIL` 。

..问题解决了