Debian

在 Debian 測試中通過 pip 安裝 PIL/Pillow (Jessie)

  • September 19, 2015

在 Debian 測試 (Jessie) 上,當我嘗試在virtualenvvia中安裝 PIL 或 Pillow (python 成像庫) 時,出現pip以下錯誤:

running egg_info
writing Pillow.egg-info/PKG-INFO
writing top-level names to Pillow.egg-info/top_level.txt
writing dependency_links to Pillow.egg-info/dependency_links.txt
warning: manifest_maker: standard file '-c' not found

reading manifest file 'Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Pillow.egg-info/SOURCES.txt'
running build_ext
building 'PIL._imaging' extension
creating build/temp.linux-x86_64-2.7/libImaging
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -IlibImaging -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -c _imaging.c -o build/temp.linux-x86_64-2.7/_imaging.o
_imaging.c:76:20: fatal error: Python.h: No such file or directory
#include "Python.h"
                   ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

根據我對 Wheezy 的經驗,我已經為 Pillow 安裝了所有依賴項,但測試似乎有所不同。

有什麼建議麼?

編輯

事實上,我發現了 libc6 的另一個問題。我擁有的版本來自實驗。將其降級到測試版本後,我重新安裝了所有依賴項,但現在出現了不同的錯誤:

building 'PIL._imagingft' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/freetype2 -IlibImaging -I/usr/include/tcl8.5 -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -c _imagingft.c -o build/temp.linux-x86_64-2.7/_imagingft.o
_imagingft.c:62:31: fatal error: freetype/fterrors.h: No such file or directory
#include <freetype/fterrors.h>
                              ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

似乎實驗版本的libc6事情搞砸了,但我不知道出了什麼問題。Aptitude 不會顯示任何未滿足的依賴關係,aptitude install -f也不會執行任何操作。

此外,如果確實 linux-headers 是相關的,那麼我安裝的是:

  • linux-headers-3.11-2-all
  • linux-headers-3.11-2-all-amd64
  • linux-headers-3.11-2-amd64
  • linux-headers-3.11-2-common
  • linux-headers-3.2.0-4-amd64
  • linux-headers-3.2.0-4-common
  • linux-headers-amd64

在 Ubuntu 14.04 中嘗試:

sudo ln -s /usr/include/freetype2 /usr/local/include/freetype

您需要 python 開發標頭檔,可能還有其他開發包。獲得它們的最簡單方法是:

sudo apt-get build-dep python-imaging

引用自:https://unix.stackexchange.com/questions/105265