Проблема сборки Matplotlib: ошибка C1083: невозможно открыть файл include: 'ft2build.h'
ft2build.h находится здесь:
C:\Program Files\GnuWin32\include
Вначале я допустил ту же ошибку, что и здесь:
Неустранимая ошибка C1083: Не удается открыть файл Include: 'tiffio.h': Нет такого файла или каталога VС++ 2008
но с тех пор я исправил эту конкретную ошибку (я добавил указанный выше каталог в список "include", а не в список "исполняемых файлов" ), но я все равно получаю сообщение об ошибке. Полный вывод:
BUILDING MATPLOTLIB
matplotlib: 0.98.5.2
python: 2.6.2 Stackless 3.1b3 060516 (release26-maint, Apr
14 2009, 21:19:36) [MSC v.1500 32 bit (Intel)]
platform: win32
Windows version: (5, 1, 2600, 2, 'Service Pack 3')
REQUIRED DEPENDENCIES
numpy: 1.3.0
freetype2: found, but unknown version (no pkg-config)
* WARNING: Could not find 'freetype2' headers in any
* of '.', '.\freetype2'.
OPTIONAL BACKEND DEPENDENCIES
libpng: found, but unknown version (no pkg-config)
* Could not find 'libpng' headers in any of '.'
Tkinter: no
* No tk/win32 support for this python version yet
wxPython: 2.8.9.2
* WxAgg extension not required for wxPython >= 2.8
Gtk+: no
* Building for Gtk+ requires pygtk; you must be able
* to "import gtk" in your build/install environment
Mac OS X native: no
Qt: no
Qt4: no
Cairo: no
OPTIONAL DATE/TIMEZONE DEPENDENCIES
datetime: present, version unknown
dateutil: matplotlib will provide
pytz: matplotlib will provide
OPTIONAL USETEX DEPENDENCIES
dvipng: no
ghostscript: no
latex: no
pdftops: no
[Edit setup.cfg to suppress the above messages]
============================================================================
pymods ['pylab']
packages ['matplotlib', 'matplotlib.backends', 'matplotlib.projections', 'mpl_to
olkits', 'matplotlib.numerix', 'matplotlib.numerix.mlab', 'matplotlib.numerix.ma
', 'matplotlib.numerix.npyma', 'matplotlib.numerix.linear_algebra', 'matplotlib.
numerix.random_array', 'matplotlib.numerix.fft', 'matplotlib.delaunay', 'pytz',
'dateutil', 'dateutil/zoneinfo']
running build
running build_py
copying lib\matplotlib\mpl-data\matplotlibrc -> build\lib.win32-2.6\matplotlib\m
pl-data
copying lib\matplotlib\mpl-data\matplotlib.conf -> build\lib.win32-2.6\matplotli
b\mpl-data
running build_ext
building 'matplotlib.ft2font' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W
3 /GS- /DNDEBUG -IC:\Python26\lib\site-packages\numpy\core\include -I. -IC:\Pyth
on26\lib\site-packages\numpy\core\include\freetype2 -I.\freetype2 -IC:\Python26\
include -IC:\Python26\include\Stackless -IC:\Python26\PC /Tpsrc/ft2font.cpp /Fob
uild\temp.win32-2.6\Release\src/ft2font.obj
ft2font.cpp
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342) : warning C
4530: C++ exception handler used, but unwind semantics are not enabled. Specify
/EHsc
c:\python26\lib\site-packages\matplotlib-0.98.5.2\src\ft2font.h(13) : fatal erro
r C1083: Cannot open include file: 'ft2build.h': No such file or directory
error: command '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' fa
iled with exit status 2
Я должен упомянуть, что это Python 2.6
Ответы
Ответ 1
Установили ли вы freetype правильно? Если у вас есть, должен быть файл с именем ft2build.h
где-то в каталоге установки, а каталог, в котором находится этот файл, - это тот, который вы должны указать с помощью -I
. Строка "GnuWin32" не появляется нигде в выводе вашей команды сборки, поэтому похоже, что вы не разместили эту директорию в списке правильных включений.
Ответ 2
Эта ошибка возникает при создании matplotlib на Ubuntu 10.10. Решение состоит в том, чтобы сделать:
sudo apt-get install python-dev libfreetype6-dev
Ответ 3
Еще одно решение для Mac OS X - установить Freetype с помощью Homebrew.
brew install freetype
Ответ 4
Для тех, у кого может быть такая же проблема, но на Mac OS 10.6 (снежный барс) и Python 2.7., самое легкое решение, которое я нашел, это получить файл make, который загружает Numpy, scipy и matplotlib и компилирует их для вас. Вы можете настроить файл make, чтобы получить только matplotlib. Вот ссылка в решение.
Ответ 5
У меня была та же ошибка в красной шляпе 6. Оказывается, мне нужно было установить freetype-devel
, а не freetype
(используя sudo yum install freetype-devel
)
Ответ 6
Я также исправил эту проблему, установив freetype с помощью homebrew в Mac OS X. Однако этого было недостаточно, поскольку библиотеки не были правильно связаны с Mac OS X 10.7. Поэтому мне пришлось вручную добавить их в команду pip
следующим образом:
brew install freetype
brew install libpng
LDFLAGS="-L/usr/local/opt/freetype/lib -L/usr/local/opt/libpng/lib" CPPFLAGS="-I/usr/local/opt/freetype/include -I/usr/local/opt/libpng/include -I/usr/local/opt/freetype/include/freetype2" pip install matplotlib
Обратите внимание, что вам также необходимо добавить папку /usr/local/opt/freetype/include/freetype2
, которая не включена по умолчанию в уведомлении homebrew, но не приведет к обнаружению ft2build.h
.
Ответ 7
Я смог решить эту проблему в Windows, выполнив следующие действия:
set INCLUDE=%INCLUDE%;C:\tmp\msvcr90-x32
set LIB=%LIB%;C:\tmp\msvcr90-x32
pip.exe install matplotlib
Библиотеки ссылок для Freetype в окнах можно найти здесь: http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib (из комментария meawoppl)
Просто скачайте "matplotlib-1.x-windows-link-libraries.zip" и откройте README из zip.
Ответ 8
Загрузите файл в папку на вашем диске C.
В командной строке Windows CMD, когда администратор перемещает вас по вашему пути, используя
cd..
или cd wheels
(в моем случае я сохранил файл в c:\Wheels
)
затем введите pip install YourFilename.whl
Результаты в
Processing c:\wheels\scipy-0.19.0-cp27-cp27m-win_amd64.whl
Requirement already satisfied: numpy>=1.8.2 in c:\python27\lib\site-packages (from scipy==0.19.0)
Installing collected packages: scipy
Successfully installed scipy-0.19.0