Проблема со сборкой Matplotlib:Ошибка C1083:Не удается открыть включаемый файл:"ft2build.h"
-
11-09-2019 - |
Вопрос
ft2build.h находится здесь:
C:\Program Файлы\GnuWin32\включают
Изначально я допустил ту же ошибку, что и здесь:
но с тех пор я исправил эту конкретную ошибку (я добавил вышеупомянутый каталог в список "включить", а не в список "исполняемые файлы"), но я все еще получаю ошибку.Полный результат таков:
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
Решение
Правильно ли вы установили freetype?Если у вас есть, там должен быть файл с именем ft2build.h
где-то в каталоге установки, и каталог, в котором находится этот файл, является тем, который вы должны указать с помощью -I
.Строка "GnuWin32" нигде не отображается в выходных данных вашей команды сборки, поэтому похоже, что вы не поместили этот каталог в правильный список включения.
Другие советы
Эта ошибка возникает и при сборке matplotlib в Ubuntu 10.10.Решение состоит в том, чтобы сделать:
sudo apt-get install python-dev libfreetype6-dev
Другим решением для Mac OS X является установка Freetype с Homebrew.
brew install freetype
Для тех, у кого может возникнуть такая же проблема, но на Mac OS 10.6 (snow leopard) и Python 2.7., самым простым решением, которое я нашел, было получить make-файл, который загружает Numpy, scipy и matplotlib и компилирует их для вас.Вы можете настроить make-файл таким образом, чтобы он предоставлял вам только matplotlib.Вот этот Ссылка к решению.
У меня была такая же ошибка в red hat 6.Оказывается, мне нужно было установить freetype-devel
, не freetype
(используя sudo yum install freetype-devel
)
Я также исправил эту проблему, установив 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
.
Я смог решить эту проблему в Windows, выполнив следующее:
set INCLUDE=%INCLUDE%;C:\tmp\msvcr90-x32
set LIB=%LIB%;C:\tmp\msvcr90-x32
pip.exe install matplotlib
Библиотеки ссылок для Freetype в Windows можно найти здесь: http://www.lfd.uci.edu /~голке/pythonlibs/#matplotlib (из комментария meawoppl)
Просто загрузите "matplotlib-1.x-windows-link-libraries.zip" и откройте README из zip-файла.
Загрузите ваш файл в папку на вашем диске C.В командной строке Windows от имени администратора укажите свой путь, используя
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