Python3.6 virtualen上编译的Pillow出错

2024-05-06 19:21:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Ubuntu14运行一个linux机器,它运行一个apache2服务器,托管一个Django应用程序。 此应用程序从已安装的Pill库导入PIL。当我使用Python3.5时,一切都很好,但是在升级到Python3.6并在Virtualenv中重新安装Pill之后,当Web服务器尝试导入PIL时,我遇到了一个错误。在

当我运行Python解释器时,它导入得很好,因为它直接使用py脚本,但是当web服务器使用已安装和编译的pillow库时,它就失败了。Django的错误显示堆栈如下:

    Internal Server Error: /ticket-printing/
    Traceback (most recent call last):
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
response = self._get_response(request)
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
        response = self.process_exception_by_middleware(e, request)
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "/home/ubuntu/ipos/tickets/views.py", line 30, in stic_app
PrintList.initiateSticApp(request)
      File "/home/ubuntu/ipos/tickets/models.py", line 434, in initiateSticApp
BrandLogo.createBlankLogo()
      File "/home/ubuntu/ipos/store_admin/brands/models.py", line 108, in createBlankLogo
from PIL import Image
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/Pillow-4.1.0-py3.6-linux-x86_64.egg/PIL/Image.py", line 56, in <module>
from . import _imaging as core
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/Pillow-4.1.0-py3.6-linux-x86_64.egg/PIL/_imaging.py", line 7, in <module>
__bootstrap__()
      File "/home/ubuntu/ipos-venv/lib/python3.6/site-packages/Pillow-4.1.0-py3.6-linux-x86_64.egg/PIL/_imaging.py", line 6, in __bootstrap__
imp.load_dynamic(__name__,__file__)
    ImportError: /home/ubuntu/ipos-venv/lib/python3.6/site-packages/Pillow-4.1.0-py3.6-linux-x86_64.egg/PIL/_imaging.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PySlice_AdjustIndices

我尝试过卸载,通过pip重新安装枕头,轻松安装和焦油gz设置.py方法和所有失败。在

任何指导和帮助将不胜感激。在

谢谢


Tags: inpycorehomepilvenvresponseubuntu
1条回答
网友
1楼 · 发布于 2024-05-06 19:21:38

哇哦那是一堆垃圾。。。在

好吧,在尝试了几乎所有的安装和重新安装枕头的组合后,我决定看看我的apache2/mod_wsgi设置。在

原来,我用python2.7编译的mod_wsgi版本在调用Pillow编译的文件时无法运行服务器。在

因此,在遵循以下说明之后: https://pypi.python.org/pypi/mod_wsgi

我在我的virtualenv中使用pip install mod_wsgi,它在我的virtualenv的site packages/mod_wsgi文件夹中创建了一个.so文件。然后我将该文件复制到/usr/lib/apache2/modules/mod_wsgi.so公司-十、 然后修改/etc/apache2/mods启用/wsgi.load文件指向新的.so-X.X文件。在

重新启动apache2,错误不再出现。在

总有一天我会明白这些。。。 有一天。。。在

相关问题 更多 >