在 Alpine Linux 上安装 Pillow 时没有这样的文件或目录 "limits.h"
No such file or directory "limits.h" when installing Pillow on Alpine Linux
我是 运行 alpine-linux Raspberry Pi 2. 我正在尝试通过此命令安装 Pillow:
pip install pillow
这是命令的输出:
Installing collected packages: pillow
Running setup.py install for pillow
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-gNq0WA/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nDKwei-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-2.7
creating build/lib.linux-armv7l-2.7/PIL
copying PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WalImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TiffTags.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TarIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SunImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PyAccess.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PSDraw.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PngImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcfFontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/OleFileIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MspImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MicImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageWin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageTransform.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageTk.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageStat.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageShow.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageSequence.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageQt.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImagePath.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImagePalette.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageOps.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMorph.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMode.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMath.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageGrab.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFont.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFilter.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFileIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageEnhance.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageDraw2.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageColor.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageCms.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageChops.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Image.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GifImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GdImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ExifTags.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/CurImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ContainerIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BdfFontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/_util.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/_binary.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/__init__.py -> build/lib.linux-armv7l-2.7/PIL
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'
warning: no files found matching 'LICENSE' under directory 'docs'
writing manifest file 'Pillow.egg-info/SOURCES.txt'
copying PIL/OleFileIO-README.md -> build/lib.linux-armv7l-2.7/PIL
running build_ext
building 'PIL._imaging' extension
creating build/temp.linux-armv7l-2.7/libImaging
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c _imaging.c -o build/temp.linux-armv7l-2.7/_imaging.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c outline.c -o build/temp.linux-armv7l-2.7/outline.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Bands.c -o build/temp.linux-armv7l-2.7/libImaging/Bands.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/ConvertYCbCr.c -o build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o
In file included from _imaging.c:76:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from outline.c:20:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/ConvertYCbCr.c:15:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Bands.c:19:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Draw.c -o build/temp.linux-armv7l-2.7/libImaging/Draw.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Filter.c -o build/temp.linux-armv7l-2.7/libImaging/Filter.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/GifEncode.c -o build/temp.linux-armv7l-2.7/libImaging/GifEncode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/LzwDecode.c -o build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Draw.c:35:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Filter.c:27:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/GifEncode.c:20:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/LzwDecode.c:31:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Offset.c -o build/temp.linux-armv7l-2.7/libImaging/Offset.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Quant.c -o build/temp.linux-armv7l-2.7/libImaging/Quant.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/PcxDecode.c -o build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/RawEncode.c -o build/temp.linux-armv7l-2.7/libImaging/RawEncode.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Offset.c:18:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Quant.c:21:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/PcxDecode.c:17:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/RawEncode.c:21:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/UnpackYCC.c -o build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/ZipEncode.c -o build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/BoxBlur.c -o build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/UnpackYCC.c:17:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/ZipEncode.c:18:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/BoxBlur.c:1:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
Building using 4 processes
gcc -shared -Wl,--as-needed build/temp.linux-armv7l-2.7/_imaging.o build/temp.linux-armv7l-2.7/decode.o build/temp.linux-armv7l-2.7/encode.o build/temp.linux-armv7l-2.7/map.o build/temp.linux-armv7l-2.7/display.o build/temp.linux-armv7l-2.7/outline.o build/temp.linux-armv7l-2.7/path.o build/temp.linux-armv7l-2.7/libImaging/Access.o build/temp.linux-armv7l-2.7/libImaging/AlphaComposite.o build/temp.linux-armv7l-2.7/libImaging/Resample.o build/temp.linux-armv7l-2.7/libImaging/Bands.o build/temp.linux-armv7l-2.7/libImaging/BitDecode.o build/temp.linux-armv7l-2.7/libImaging/Blend.o build/temp.linux-armv7l-2.7/libImaging/Chops.o build/temp.linux-armv7l-2.7/libImaging/Convert.o build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o build/temp.linux-armv7l-2.7/libImaging/Copy.o build/temp.linux-armv7l-2.7/libImaging/Crc32.o build/temp.linux-armv7l-2.7/libImaging/Crop.o build/temp.linux-armv7l-2.7/libImaging/Dib.o build/temp.linux-armv7l-2.7/libImaging/Draw.o build/temp.linux-armv7l-2.7/libImaging/Effects.o build/temp.linux-armv7l-2.7/libImaging/EpsEncode.o build/temp.linux-armv7l-2.7/libImaging/File.o build/temp.linux-armv7l-2.7/libImaging/Fill.o build/temp.linux-armv7l-2.7/libImaging/Filter.o build/temp.linux-armv7l-2.7/libImaging/FliDecode.o build/temp.linux-armv7l-2.7/libImaging/Geometry.o build/temp.linux-armv7l-2.7/libImaging/GetBBox.o build/temp.linux-armv7l-2.7/libImaging/GifDecode.o build/temp.linux-armv7l-2.7/libImaging/GifEncode.o build/temp.linux-armv7l-2.7/libImaging/HexDecode.o build/temp.linux-armv7l-2.7/libImaging/Histo.o build/temp.linux-armv7l-2.7/libImaging/JpegDecode.o build/temp.linux-armv7l-2.7/libImaging/JpegEncode.o build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o build/temp.linux-armv7l-2.7/libImaging/Matrix.o build/temp.linux-armv7l-2.7/libImaging/ModeFilter.o build/temp.linux-armv7l-2.7/libImaging/MspDecode.o build/temp.linux-armv7l-2.7/libImaging/Negative.o build/temp.linux-armv7l-2.7/libImaging/Offset.o build/temp.linux-armv7l-2.7/libImaging/Pack.o build/temp.linux-armv7l-2.7/libImaging/PackDecode.o build/temp.linux-armv7l-2.7/libImaging/Palette.o build/temp.linux-armv7l-2.7/libImaging/Paste.o build/temp.linux-armv7l-2.7/libImaging/Quant.o build/temp.linux-armv7l-2.7/libImaging/QuantOctree.o build/temp.linux-armv7l-2.7/libImaging/QuantHash.o build/temp.linux-armv7l-2.7/libImaging/QuantHeap.o build/temp.linux-armv7l-2.7/libImaging/PcdDecode.o build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o build/temp.linux-armv7l-2.7/libImaging/PcxEncode.o build/temp.linux-armv7l-2.7/libImaging/Point.o build/temp.linux-armv7l-2.7/libImaging/RankFilter.o build/temp.linux-armv7l-2.7/libImaging/RawDecode.o build/temp.linux-armv7l-2.7/libImaging/RawEncode.o build/temp.linux-armv7l-2.7/libImaging/Storage.o build/temp.linux-armv7l-2.7/libImaging/SunRleDecode.o build/temp.linux-armv7l-2.7/libImaging/TgaRleDecode.o build/temp.linux-armv7l-2.7/libImaging/Unpack.o build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o build/temp.linux-armv7l-2.7/libImaging/UnsharpMask.o build/temp.linux-armv7l-2.7/libImaging/XbmDecode.o build/temp.linux-armv7l-2.7/libImaging/XbmEncode.o build/temp.linux-armv7l-2.7/libImaging/ZipDecode.o build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o build/temp.linux-armv7l-2.7/libImaging/TiffDecode.o build/temp.linux-armv7l-2.7/libImaging/Incremental.o build/temp.linux-armv7l-2.7/libImaging/Jpeg2KDecode.o build/temp.linux-armv7l-2.7/libImaging/Jpeg2KEncode.o build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o -L/usr/lib -L/usr/local/lib -L/usr/lib -ljpeg -lpython2.7 -o build/lib.linux-armv7l-2.7/PIL/_imaging.so
gcc: error: build/temp.linux-armv7l-2.7/_imaging.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/decode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/encode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/map.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/display.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/outline.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/path.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Access.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/AlphaComposite.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Resample.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Bands.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/BitDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Blend.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Chops.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Convert.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Copy.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Crc32.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Crop.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Dib.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Draw.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Effects.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/EpsEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/File.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Fill.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Filter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/FliDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Geometry.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GetBBox.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GifDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GifEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/HexDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Histo.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/JpegDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/JpegEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Matrix.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ModeFilter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/MspDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Negative.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Offset.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Pack.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PackDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Palette.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Paste.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Quant.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantOctree.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantHash.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantHeap.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcdDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcxEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Point.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RankFilter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RawDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RawEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Storage.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/SunRleDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/TgaRleDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Unpack.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/UnsharpMask.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/XbmDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/XbmEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ZipDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/TiffDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Incremental.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Jpeg2KDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Jpeg2KEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o: No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -c "import setup tools, tokenize;__file__='/tmp/pip-build-gNq0WA/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nDKwei-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-gNq0WA/pillow
我认为这可能是相关部分:
In file included from libImaging/BoxBlur.c:1:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
我的研究表明它可能与头文件有关。我已经安装了这些:
apk add py-configobj libusb py-pip python-dev gcc linux-headers
pip install --upgrade pip
pip install -U setuptools
pip install Cheetah
pip install pyusb
Alpine Linux 使用 musl libc。您可能需要安装 musl-dev
.
我发现一些 python 软件包无法通过 pip install 安装,但如果您安装相关的 alpine linux 软件包,则可以正常工作。例如 pip install uwsgi 抱怨 limits.h 失败,但 apk add uwsgi-python 工作正常。建议尝试 apk 添加 py-pillow 而不是 pip 安装枕头。
@zakaria 的回答是正确的,但如果你偶然发现
fatal error: linux/limits.h: No such file or directory
那么你需要包 linux-headers
(注意 limits.h
之前的前缀 linux
apk add linux-headers
我在使用 python:3.6-alpine
图像在 Docker 中安装 Python 库 regex
时遇到了非常相似的问题,对于 Alpine Linux >= 3.3 .
pip install regex
我必须添加 gcc
和 musl-dev
包:
apk --no-cache add gcc musl-dev
limits.h
位于 libc-dev
:
apk add libc-dev
我是 运行 alpine-linux Raspberry Pi 2. 我正在尝试通过此命令安装 Pillow:
pip install pillow
这是命令的输出:
Installing collected packages: pillow
Running setup.py install for pillow
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-gNq0WA/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nDKwei-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-2.7
creating build/lib.linux-armv7l-2.7/PIL
copying PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WalImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TiffTags.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TarIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SunImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PyAccess.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PSDraw.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PngImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcfFontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/OleFileIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MspImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MicImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageWin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageTransform.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageTk.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageStat.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageShow.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageSequence.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageQt.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImagePath.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImagePalette.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageOps.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMorph.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMode.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMath.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageGrab.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFont.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFilter.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFileIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageEnhance.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageDraw2.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageColor.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageCms.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageChops.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Image.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GifImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GdImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ExifTags.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/CurImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ContainerIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BdfFontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/_util.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/_binary.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/__init__.py -> build/lib.linux-armv7l-2.7/PIL
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'
warning: no files found matching 'LICENSE' under directory 'docs'
writing manifest file 'Pillow.egg-info/SOURCES.txt'
copying PIL/OleFileIO-README.md -> build/lib.linux-armv7l-2.7/PIL
running build_ext
building 'PIL._imaging' extension
creating build/temp.linux-armv7l-2.7/libImaging
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c _imaging.c -o build/temp.linux-armv7l-2.7/_imaging.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c outline.c -o build/temp.linux-armv7l-2.7/outline.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Bands.c -o build/temp.linux-armv7l-2.7/libImaging/Bands.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/ConvertYCbCr.c -o build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o
In file included from _imaging.c:76:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from outline.c:20:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/ConvertYCbCr.c:15:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Bands.c:19:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Draw.c -o build/temp.linux-armv7l-2.7/libImaging/Draw.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Filter.c -o build/temp.linux-armv7l-2.7/libImaging/Filter.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/GifEncode.c -o build/temp.linux-armv7l-2.7/libImaging/GifEncode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/LzwDecode.c -o build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Draw.c:35:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Filter.c:27:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/GifEncode.c:20:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/LzwDecode.c:31:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Offset.c -o build/temp.linux-armv7l-2.7/libImaging/Offset.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Quant.c -o build/temp.linux-armv7l-2.7/libImaging/Quant.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/PcxDecode.c -o build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/RawEncode.c -o build/temp.linux-armv7l-2.7/libImaging/RawEncode.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Offset.c:18:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Quant.c:21:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/PcxDecode.c:17:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/RawEncode.c:21:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/UnpackYCC.c -o build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/ZipEncode.c -o build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/BoxBlur.c -o build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/UnpackYCC.c:17:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/ZipEncode.c:18:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/BoxBlur.c:1:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
Building using 4 processes
gcc -shared -Wl,--as-needed build/temp.linux-armv7l-2.7/_imaging.o build/temp.linux-armv7l-2.7/decode.o build/temp.linux-armv7l-2.7/encode.o build/temp.linux-armv7l-2.7/map.o build/temp.linux-armv7l-2.7/display.o build/temp.linux-armv7l-2.7/outline.o build/temp.linux-armv7l-2.7/path.o build/temp.linux-armv7l-2.7/libImaging/Access.o build/temp.linux-armv7l-2.7/libImaging/AlphaComposite.o build/temp.linux-armv7l-2.7/libImaging/Resample.o build/temp.linux-armv7l-2.7/libImaging/Bands.o build/temp.linux-armv7l-2.7/libImaging/BitDecode.o build/temp.linux-armv7l-2.7/libImaging/Blend.o build/temp.linux-armv7l-2.7/libImaging/Chops.o build/temp.linux-armv7l-2.7/libImaging/Convert.o build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o build/temp.linux-armv7l-2.7/libImaging/Copy.o build/temp.linux-armv7l-2.7/libImaging/Crc32.o build/temp.linux-armv7l-2.7/libImaging/Crop.o build/temp.linux-armv7l-2.7/libImaging/Dib.o build/temp.linux-armv7l-2.7/libImaging/Draw.o build/temp.linux-armv7l-2.7/libImaging/Effects.o build/temp.linux-armv7l-2.7/libImaging/EpsEncode.o build/temp.linux-armv7l-2.7/libImaging/File.o build/temp.linux-armv7l-2.7/libImaging/Fill.o build/temp.linux-armv7l-2.7/libImaging/Filter.o build/temp.linux-armv7l-2.7/libImaging/FliDecode.o build/temp.linux-armv7l-2.7/libImaging/Geometry.o build/temp.linux-armv7l-2.7/libImaging/GetBBox.o build/temp.linux-armv7l-2.7/libImaging/GifDecode.o build/temp.linux-armv7l-2.7/libImaging/GifEncode.o build/temp.linux-armv7l-2.7/libImaging/HexDecode.o build/temp.linux-armv7l-2.7/libImaging/Histo.o build/temp.linux-armv7l-2.7/libImaging/JpegDecode.o build/temp.linux-armv7l-2.7/libImaging/JpegEncode.o build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o build/temp.linux-armv7l-2.7/libImaging/Matrix.o build/temp.linux-armv7l-2.7/libImaging/ModeFilter.o build/temp.linux-armv7l-2.7/libImaging/MspDecode.o build/temp.linux-armv7l-2.7/libImaging/Negative.o build/temp.linux-armv7l-2.7/libImaging/Offset.o build/temp.linux-armv7l-2.7/libImaging/Pack.o build/temp.linux-armv7l-2.7/libImaging/PackDecode.o build/temp.linux-armv7l-2.7/libImaging/Palette.o build/temp.linux-armv7l-2.7/libImaging/Paste.o build/temp.linux-armv7l-2.7/libImaging/Quant.o build/temp.linux-armv7l-2.7/libImaging/QuantOctree.o build/temp.linux-armv7l-2.7/libImaging/QuantHash.o build/temp.linux-armv7l-2.7/libImaging/QuantHeap.o build/temp.linux-armv7l-2.7/libImaging/PcdDecode.o build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o build/temp.linux-armv7l-2.7/libImaging/PcxEncode.o build/temp.linux-armv7l-2.7/libImaging/Point.o build/temp.linux-armv7l-2.7/libImaging/RankFilter.o build/temp.linux-armv7l-2.7/libImaging/RawDecode.o build/temp.linux-armv7l-2.7/libImaging/RawEncode.o build/temp.linux-armv7l-2.7/libImaging/Storage.o build/temp.linux-armv7l-2.7/libImaging/SunRleDecode.o build/temp.linux-armv7l-2.7/libImaging/TgaRleDecode.o build/temp.linux-armv7l-2.7/libImaging/Unpack.o build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o build/temp.linux-armv7l-2.7/libImaging/UnsharpMask.o build/temp.linux-armv7l-2.7/libImaging/XbmDecode.o build/temp.linux-armv7l-2.7/libImaging/XbmEncode.o build/temp.linux-armv7l-2.7/libImaging/ZipDecode.o build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o build/temp.linux-armv7l-2.7/libImaging/TiffDecode.o build/temp.linux-armv7l-2.7/libImaging/Incremental.o build/temp.linux-armv7l-2.7/libImaging/Jpeg2KDecode.o build/temp.linux-armv7l-2.7/libImaging/Jpeg2KEncode.o build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o -L/usr/lib -L/usr/local/lib -L/usr/lib -ljpeg -lpython2.7 -o build/lib.linux-armv7l-2.7/PIL/_imaging.so
gcc: error: build/temp.linux-armv7l-2.7/_imaging.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/decode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/encode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/map.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/display.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/outline.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/path.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Access.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/AlphaComposite.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Resample.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Bands.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/BitDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Blend.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Chops.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Convert.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Copy.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Crc32.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Crop.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Dib.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Draw.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Effects.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/EpsEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/File.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Fill.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Filter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/FliDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Geometry.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GetBBox.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GifDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GifEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/HexDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Histo.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/JpegDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/JpegEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Matrix.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ModeFilter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/MspDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Negative.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Offset.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Pack.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PackDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Palette.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Paste.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Quant.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantOctree.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantHash.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantHeap.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcdDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcxEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Point.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RankFilter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RawDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RawEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Storage.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/SunRleDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/TgaRleDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Unpack.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/UnsharpMask.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/XbmDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/XbmEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ZipDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/TiffDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Incremental.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Jpeg2KDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Jpeg2KEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o: No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -c "import setup tools, tokenize;__file__='/tmp/pip-build-gNq0WA/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nDKwei-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-gNq0WA/pillow
我认为这可能是相关部分:
In file included from libImaging/BoxBlur.c:1:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
我的研究表明它可能与头文件有关。我已经安装了这些:
apk add py-configobj libusb py-pip python-dev gcc linux-headers
pip install --upgrade pip
pip install -U setuptools
pip install Cheetah
pip install pyusb
Alpine Linux 使用 musl libc。您可能需要安装 musl-dev
.
我发现一些 python 软件包无法通过 pip install 安装,但如果您安装相关的 alpine linux 软件包,则可以正常工作。例如 pip install uwsgi 抱怨 limits.h 失败,但 apk add uwsgi-python 工作正常。建议尝试 apk 添加 py-pillow 而不是 pip 安装枕头。
@zakaria 的回答是正确的,但如果你偶然发现
fatal error: linux/limits.h: No such file or directory
那么你需要包 linux-headers
(注意 limits.h
linux
apk add linux-headers
我在使用 python:3.6-alpine
图像在 Docker 中安装 Python 库 regex
时遇到了非常相似的问题,对于 Alpine Linux >= 3.3 .
pip install regex
我必须添加 gcc
和 musl-dev
包:
apk --no-cache add gcc musl-dev
limits.h
位于 libc-dev
:
apk add libc-dev