web-dev-qa-db-fra.com

Problème de génération Matplotlib: Erreur C1083: impossible d'ouvrir le fichier d'inclusion: 'ft2build.h'

ft2build.h se trouve ici:

C:\Program Files\GnuWin32\include

Au départ, j'ai commis la même erreur qu'ici:

Erreur fatale C1083: impossible d'ouvrir le fichier à inclure: 'tiffio.h': aucun fichier ou répertoire de ce type VC++ 2008

mais depuis lors, j'ai corrigé cette erreur particulière (j'ai ajouté le répertoire ci-dessus à la liste "inclure" plutôt qu'à la liste "exécutables"), mais j'ai toujours une erreur. La sortie complète est la suivante:

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

Je devrais mentionner que c'est Python 2.6

26
user92355

Avez-vous installé freetype correctement? Si tel est le cas, il devrait y avoir un fichier nommé ft2build.h quelque part dans le répertoire d'installation, et le répertoire dans lequel ce fichier est trouvé est celui que vous devez spécifier avec -I. La chaîne "GnuWin32" n'apparaissant nulle part dans la sortie de votre commande de construction, il semble donc que vous n'avez pas placé ce répertoire dans la liste d'inclusion correcte.

14
Jouni K. Seppänen

Cette erreur se produit également lors de la construction de matplotlib sur Ubuntu 10.10. La solution est de faire:

Sudo apt-get install python-dev libfreetype6-dev
60
Damien Farrell

Une autre solution pour Mac OS X consiste à installer Freetype avec Homebrew.

brew install freetype
7
JoshNahum

Pour ceux qui pourraient avoir le même problème, mais sur un Mac OS 10.6 (Snow Leopard) et Python 2.7. La solution la plus simple que j'ai trouvée consistait à obtenir un fichier make téléchargeant Numpy, scipy et matplotlib et à les compiler pour vous. Vous pouvez personnaliser le fichier make pour obtenir votre fichier matplotlib uniquement. Voici le link à la solution.

3
sa9

J'ai eu la même erreur dans Red Hat 6. Il s'est avéré que je devais installer freetype-devel, pas freetype (en utilisant Sudo yum install freetype-devel)

3
SaiyanGirl

J'ai également corrigé ce problème en installant freetype sous Homebrew sous Mac OS X. Cela ne suffisait toutefois pas, car les bibliothèques n'étaient pas liées correctement sous Mac OS X 10.7. J'ai donc dû les ajouter manuellement à la commande pip comme suit:

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 

Notez que vous devez également ajouter le dossier /usr/local/opt/freetype/include/freetype2, qui n'est pas inclus par défaut dans la notification homebrew, mais vous ne retrouverez pas ft2build.h.

2
user1496984

J'ai pu résoudre ce problème sous Windows en procédant comme suit:

   set INCLUDE=%INCLUDE%;C:\tmp\msvcr90-x32
   set LIB=%LIB%;C:\tmp\msvcr90-x32
   pip.exe install matplotlib

Les bibliothèques de liens pour Freetype sur Windows peuvent être trouvées ici: http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib (du commentaire de meawoppl)

Il suffit de télécharger le fichier "matplotlib‑1.x-windows-link-libraries.Zip" et d’ouvrir le README à partir du fichier Zip.

2
Milean

Téléchargez votre fichier dans un dossier de votre lecteur C . Dans Windows CMD Prompt en tant qu'administrateur, parcourez votre chemin à l'aide de cd.. ou cd wheels (dans mon cas, j'ai enregistré le fichier dans c:\Wheels) .__, puis tapez pip install YourFilename.whl.

Résulte en 

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
0
Steve Lynch