python - 使用 PIP 安装 PIL 时出错 - Django、Python

标签 python django macos python-imaging-library pip

我使用 PIP 安装了 PIL。但是,在 Django 上使用 PIL,在尝试上传 .jpg 文件时,出现错误:

Upload a valid image. The file you uploaded was either not an image or a corrupted image.

我在网上看到这个错误,解决方案是删除当前操作系统的编译文件,然后再次使用 setup.py。

但是,当我使用 PIP 安装 PIL 时,我没有 setup.py,也没有包含为我的特定操作系统编译的文件的文件夹。这是 Mac OSX Lion。

更新:我的电脑上没有安装 libjpeg。我现在有了它,我正在尝试更改 PIL 配置以指向 libjpeg 库。

最佳答案

PIL在安装过程中需要找到libjpeg、libz等库

我们在服务器上遇到了同样的问题,我们在系统范围内使用 PIL 安装

aptitude install python-imaging

这是一个快速修复,对我们有用。

此外,谷歌搜索显示了两种使用 PIL 解决此问题的方法。

first one是从 /usr/lib/x86_64-linux-gnu/符号链接(symbolic link) libjpeg.so, libfreetype.solibz.so /usr/lib

second one是使用 pip --no-install 键来下载包,然后更改 setup.py 以将正确的路径放在那里

1. Call 'pip install -I pil --no-install' to download and unpack the PIL source into your build directory;
2. Get into your build directory and edit setup.py;
3. Find the line that says 'add_directory(library_dirs, "/usr/lib")' (line 214 here);
4. Add the line 'add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu/")' afterwards;
5. Call 'pip install -I pil --no-download' to finish the installation.

如果你有 i386 架构,请使用 i386-linux-gnu 而不是 x86_64-linux-gnu

关于python - 使用 PIP 安装 PIL 时出错 - Django、Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401085/

相关文章:

bash - 无法重定向所有 Homebrew 桶过时的输出?

macos - 感叹号 (!) 的 Karabiner 键码是什么?

python - Python是如何将一个函数变成一个方法的?

django - 自定义从 Django forms.py 带来的表单

python - 根据包装器签名传递给 Pyramid View 函数的参数不一致

django - 为什么我们对静态文件使用不同的 Web 服务器?

django Chartit 没有显示图表,浏览器屏幕为空

java - 使用 Java 在 Mac 上的终端中运行使用管道的命令

python - 如何安装 virtualenv 和/或 pip

python - 在 Python 中跳出 while 循环后的流程控制