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

Tho*_*ley 6 python pillow

在有人说"sudo apt-get install libjpeg-dev"或其他事情之前,我没有sudo访问权限.我在一个不允许我有sudo访问权限的服务器上.所以我必须在我的本地目录中完成这一切.这是我能做到的唯一方法.

我需要一个python脚本来调整图像大小.它适用于png文件,但它在jpeg文件中崩溃,标题中列出了错误.

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

  1. 下载libjpeg-dev并安装到$HOME/jpegtest,所以在jpegtest /文件夹里面是lib /,包含/,依此类推
  2. Pillow手动下载并将其解压缩出来$HOME/Pillow
  3. 我编辑了setup.pyfild所以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
    
    Run Code Online (Sandbox Code Playgroud)

所以我认为这意味着JPEG支持将起作用,但是当我运行我的程序时它会说:

IOError:解码器jpeg不可用

在输入时我也注意到Pillow上的问题在安装时识别JPEG编码器,但没有使用,这听起来非常接近我的,所以我尝试了那里的解决方案:

ln -s /media/sdl1/home/midnight/jpegtest/lib/libjpeg.so /media/sdl1/home/midnight/.pythonbrew/pythons/Python-2.7.5/lib
Run Code Online (Sandbox Code Playgroud)

但我仍然有同样的错误.

我已经在这个问题上工作了大约两天了,而且我不完全确定要做什么.如果有人能提供一些帮助,那将非常有帮助.

A--*_*--- 1

不要只下载所需的库,而是尝试在本地主文件夹中创建整个 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=~
Run Code Online (Sandbox Code Playgroud)

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

$ PATH = /home/user/[pathtopython]:$PATH
Run Code Online (Sandbox Code Playgroud)

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

$ curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
$ ./get-pip.py
$ pip install pillow
Run Code Online (Sandbox Code Playgroud)

URL 可能会有所不同。您可能仍然需要修改 setup.py - 我还没有在类似 C 的库中使用这种技术,所以我不确定。