Python 枕头:未定义符号:PYU新

Python 枕头:未定义符号:PYU新,python,django,apache,centos,Python,Django,Apache,Centos,我有以下先决条件: CentOS 6.5 Python2.7随命令/configure一起安装 --prefix=/usr/local——启用unicode=ucs4;制作进行高空安装 httpd作为Django网站的web服务器 我得到这样的回溯: ... File "/var/www/html/mysite.com/mylib/uploader/fields.py", line 8, in <module> from PIL import Image File "/var/

我有以下先决条件:

  • CentOS 6.5
  • Python2.7随命令
    /configure一起安装
    --prefix=/usr/local——启用unicode=ucs4;制作进行高空安装
  • httpd作为Django网站的web服务器
我得到这样的回溯:

...
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
。。。
文件“/var/www/html/mysite.com/mylib/uploader/fields.py”,第8行,在
从PIL导入图像
文件“/var/www/html/mysite.com/eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg/PIL/Image.py”,第53行,在
文件“/var/www/html/mysite.com/eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg/PIL/_imaging.py”,第7行,在
文件“/var/www/html/mysite.com/eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg/PIL/_imaging.py”,第6行,在引导程序中__
ImportError:/tmp/python-eggs/Pillow-2.4.0-py2.7-linux-x86_64.egg-tmp/PIL//u imaging.so:未定义符号:PyCapsule\u新
当我尝试从Django shell执行PIL导入图像中的
时,它会毫无错误地通过

谷歌搜索这个错误对我帮助不大,请帮忙

更新:
我曾尝试使用Djangos internal server(
manage.py runserver
命令)为网站提供服务,但效果良好。

我也遇到了类似的错误

发生的事情是,我的python2.7安装程序从系统python2.6中获取了软件包(通过一些PYTHONPATH muckery)

要进行调试,请在导入的对象之前放置一个断点,然后:

import sys
for path in sys.path:
    print(path)

理想情况下,它应该只包含python2.7内容,但您可能已经将python2.6内容泄漏到它上面(或者反过来)

尝试在settings.py中启用调试,并仔细检查完整的handler500输出。请特别注意python环境。我怀疑django没有使用你的altinstall版本的python,而是运行CentOS的旧python部分,该部分还不支持python胶囊。@出于某种原因,user590028,即使使用
DEBUG=True
我也得到了标准的apache 500页面。请尝试清除apache egg的内容cache@user590028我试过了,并删除
*.pyc
。通过黑客的方式-将
引发异常(sys.version)
放在
settings.py
中,我得到了httpd启动Django-2.6.6的版本。很奇怪!检查wsgi.py启动脚本。第一行(shebang)——确保它链接到了正确的python