在Cygwin上安装PIL

时间:2010-05-05 12:34:54

标签: python gcc cygwin python-imaging-library

我整个上午一直在努力在Cygwin上安装PIL。我得到的错误与我使用Google发现的常见错误不一致。也许linux大师可以在这个输出中看到一个明显的问题:

$ python setup.py install
running install
running build
running build_py
running build_ext
building '_imaging' extension
gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DHAVE_LIBZ -I/usr/include/freetype2 -IlibImaging -I/usr/include -I/usr/include/python2.5 -c _imaging.c -o build/temp.cygwin-1.7.2-i686-2.5/_imaging.o
In file included from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/syslimits.h:7,
                 from /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/limits.h:11,
                 from /usr/include/python2.5/Python.h:18,
                 from _imaging.c:75:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/limits.h:122:61: limits.h: No such file or directory
In file included from _imaging.c:75:
/usr/include/python2.5/Python.h:32:19: stdio.h: No such file or directory
/usr/include/python2.5/Python.h:34:5: #error "Python.h requires that stdio.h define NULL."
/usr/include/python2.5/Python.h:37:20: string.h: No such file or directory
/usr/include/python2.5/Python.h:39:19: errno.h: No such file or directory
/usr/include/python2.5/Python.h:41:20: stdlib.h: No such file or directory
/usr/include/python2.5/Python.h:43:20: unistd.h: No such file or directory
/usr/include/python2.5/Python.h:55:20: assert.h: No such file or directory
In file included from /usr/include/python2.5/Python.h:57,
                 from _imaging.c:75:
/usr/include/python2.5/pyport.h:7:20: stdint.h: No such file or directory
In file included from /usr/include/python2.5/Python.h:57,
                 from _imaging.c:75:
/usr/include/python2.5/pyport.h:89: error: parse error before "Py_uintptr_t"
/usr/include/python2.5/pyport.h:89: warning: type defaults to `int' in declaration of `Py_uintptr_t'
/usr/include/python2.5/pyport.h:89: warning: data definition has no type or storage class
/usr/include/python2.5/pyport.h:90: error: parse error before "Py_intptr_t"
/usr/include/python2.5/pyport.h:90: warning: type defaults to `int' in declaration of `Py_intptr_t'

...更多像这样的行

2 个答案:

答案 0 :(得分:1)

看起来你需要安装GNU libC,因为 syslimits.h; limits.h中; errno.h中; stdlib.h中; assert.h等都属于它。

对于Windows,你会得到二进制安装程序;如果你不想在CYGWIN下建立PIL,你可以选择其中一个,http://www.pythonware.com/products/pil/#Downloads

答案 1 :(得分:0)

您可以下载新的cygwin二进制文件并在Python部分安装映像库。这将使PIL可用于cygwin python 2.7。