IOError:使用Pi时解码器jpeg不可用

2024-10-01 11:32:32 发布

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

在有人说"sudo apt-get install libjpeg-dev"或类似的话之前,我没有sudo访问权限。我在一个不允许我访问sudo的服务器上。所以我得在我的本地目录里做这件事。这是我唯一能做到的方法。在

我需要一个python脚本来调整图像的大小。对于png文件,它工作得非常好,但是对于jpeg文件,它会分崩离析,错误列在标题中。在

以下是我目前采取的步骤:

  1. 下载了libjpeg-dev并将其安装到$HOME/jpegtest,因此jpegtest/文件夹内是lib/、include/等
  2. 我手动下载了Pillow,并将其提取到$HOME/Pillow
  3. 我编辑了setup.py文件,使JPEG_ROOT变成libinclude(<absolute path to jpegtest>)
  4. 我构建并编译了Pillow,并将其安装到$HOME//.pythonbrew/pythons/Python-2.7.5/lib/python2.7/site-packages/Pillow-2.4.0-py2.7-linux-x86_64.egg输出的重要部分如下:

    *** TKINTER support not available
    --- JPEG support available
    *** OPENJPEG (JPEG2000) support not available
    --- ZLIB (PNG/ZIP) support available
    *** LIBTIFF support not available
    *** FREETYPE2 support not available
    *** LITTLECMS2 support not available
    *** WEBP support not available
    *** WEBPMUX support not available
    

因此,我认为这意味着JPEG支持将起作用,但当我运行程序时,它显示:

IOError: decoder jpeg not available

在输入这个的时候,我也注意到了Pillow recognizes JPEG encoder on install, but not use的问题,这个问题听起来非常接近我的,所以我在那里尝试了解决方案:

^{pr2}$

但我还是有同样的错误。在

我已经研究这个问题两天了,不知道该怎么办。如果有人能提供一些帮助,那将是非常有帮助的。在


Tags: install文件devsupporthomelib错误sudo
1条回答
网友
1楼 · 发布于 2024-10-01 11:32:32

不要只下载所需的库,而是尝试在本地的主文件夹中创建一个完整的Python环境:

$ wget http://www.python.org/ftp/python/[desired version of Python].tgz
$ tar xzf Python[version].tgz
$ cd python-[version]
$ ./configure
$ make altinstall prefix=~ exec-prefix=~

更新PATH变量,以便首先执行本地Python:

^{pr2}$

获取pip,从中可以安装其他软件包:

$ curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
$ ./get-pip.py
$ pip install pillow

URL可能会有所不同。你可能还需要修改设置.py-我还没有在类C库中使用这种技术,所以我不确定。在

相关问题 更多 >