我正在使用 instagram 的 API 做一个网络应用程序。本练习所需的要点之一是“在 python 代码中使用 C 库”,因此我使用 CTYPES 来调整 ImageMagick 以将过滤器应用于照片。
所以,我有 URL 图像,我想应用过滤器:
from ctypes import *
factor = 2
libwand=CDLL("libMagick++.so.5")
libwand.MagickWandGenesis()
magick_wand = libwand.NewMagickWand()
#url_image is a simple url like http://www.images.com/123.jpg
libwand.MagickReadImage(magick_wand,url_image)
libwand.MagickBlueShiftImage(magick_wand,factor);
libwand.MagickWriteImage(magick_wand,'./login/static/images/imagenNueva.jpg');
如果我在一个简单的 tets.py 中执行此操作,它可以正常工作,但是一旦我将它放入 django 的 views.py 中,它就会产生分段错误。
这是 gdb 输出:
程序收到信号 SIGSEGV,分段错误。0x00007ffff782dfb7 in kill () at ../sysdeps/unix/syscall-template.S:81 81 ../sysdeps/unix/syscall-template.S: 文件或目录不存在。