我安装了PIL (Python图像库)。
当我运行Python时:
import PIL
import Image
import _imaging我不会得到错误。但是,在运行我的应用程序时,它会引发
The _imaging C module not installed发布于 2010-06-28 01:32:22
我在你发送的链接上发布了这个回复(谢谢),但我想我也应该在源码上发布。很抱歉给你发了这篇文章。
我希望有一种方法可以做到这一点而不需要重新编译东西。我碰巧使用的是virtualenv。我确实发现,如果我放弃了我的虚拟环境安装,然后用pip重新安装,映像就会重新开始工作。这些步骤似乎起作用了(注意,我使用的是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和django安装到虚拟环境中
echo “pil” > requirements.pip
echo “django” >> requirements.pip
pip-2.6 install -E ./ve/ -r requirements.pip测试以查看导入现在是否有效。注意没有令人讨厌的C模块错误
python
>>import import ImageFont
>>希望这是有用的。
发布于 2012-05-23 13:19:03
在Windows上,删除C:\Python27中的_imaging.pyd和_imagingft.pyd。将所有_imaging模块保留在C:\Python27\Lib\site-packages\PIL文件夹中。
这对我很管用。
发布于 2013-11-22 04:42:22
如果from PIL import Image正常工作但import _imaging失败,这里有一些可能会对你有帮助的东西。如果Image也失败了,请参阅末尾的注释。
在Ubuntu 13.04 (raring)上,我遇到了这个问题。事实证明,Ubuntu将_imaging.so安装在App Engine意想不到的地方:/usr/lib/python2.7/dist-packages而不是/usr/lib/python2.7/dist-packages/PIL。所以_imaging.so不在sys.path的任何地方。
这里有几种方法来解决这个问题:
已经将PIL模块放在path上的某个位置:
我注意到/path/to/google_appengine/lib/PIL-1.1.7在sys.path中,但该目录在我的安装中不存在。因此,我创建了这个目录,并将.so文件复制到其中,一切都正常。每次更新App Engine SDK时,您都必须再次执行此操作,但至少它不会扰乱您正在开发的代码。
在main.py**:** 中操作sys.path
这段代码将检查我们是否正在运行dev appserver,如果是,则将正确的dir添加到路径中。未经测试,但它应该可以工作;)
# 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,以使更改反映在例如交互式控制台中。
https://stackoverflow.com/questions/3074915
复制相似问题