我有以下先决条件:
./configure
--prefix=/usr/local --enable-unicode=ucs4; make; make altinstall;
我得到了这样的追溯:
...
File "/var/www/html/mysite.com/mylib/uploader/fields.py", line 8, in <module>
from PIL import Image
File "/var/www/html/mysite.com/eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg/PIL/Image.py", line 53, in <module>
File "/var/www/html/mysite.com/eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg/PIL/_imaging.py", line 7, in <module>
File "/var/www/html/mysite.com/eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg/PIL/_imaging.py", line 6, in __bootstrap__
ImportError: /tmp/python-eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg-tmp/PIL/_imaging.so: undefined symbol: PyCapsule_New
当我尝试从Django shell执行from PIL import Image
时,它会毫无错误地传递。
谷歌搜索这个错误对我没什么帮助,请帮助。
更新:
我曾尝试使用Djangos内部服务器(manage.py runserver
命令)来提供网站服务,并且运行正常。
答案 0 :(得分:0)
我有类似的错误。
发生的事情是我的python2.7安装正在从系统python2.6中获取软件包(通过一些PYTHONPATH muckery)
要进行调试,请在导入的内容之前删除断点:
import sys
for path in sys.path:
print(path)
理想情况下,它应该只包含python2.7的东西,但你可能已经在它上面泄漏了一个python2.6(或者反过来)