Je veux utiliser matplotlib sur un serveur sur lequel j'ai un compte /myhome
sans privilèges root.
J'ai téléchargé les sources de matplotlib et essayé de l'installer à l'aide de distutils avec l'utilisateur sheme, disons python setup.py install --user
, mais le message suivant a été renvoyé:
============================================================================
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [1.3.1]
python: yes [2.7.3 (default, Jan 2 2013, 13:56:14) [GCC
4.7.2]]
platform: yes [linux2]
REQUIRED DEPENDENCIES AND EXTENSIONS
numpy: yes [version 1.6.2]
dateutil: yes [using dateutil version 1.5]
tornado: yes [tornado was not found. It is required for the
WebAgg backend. pip/easy_install may attempt to
install it after matplotlib.]
pyparsing: yes [pyparsing was not found. It is required for
mathtext support. pip/easy_install may attempt to
install it after matplotlib.]
pycxx: yes [Couldn't import. Using local copy.]
libagg: yes [pkg-config information for 'libagg' could not
be found. Using local copy.]
freetype: no [pkg-config information for 'freetype2' could
not be found.]
png: yes [pkg-config information for 'libpng' could not
be found. Using unknown version.]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
toolkits: yes [installing]
tests: yes [nose 0.11.1 or later is required to run the
matplotlib test suite]
OPTIONAL BACKEND EXTENSIONS
macosx: no [Mac OS-X only]
qt4agg: yes [installing, Qt: 4.8.2, PyQt4: 4.9.3]
gtk3agg: yes [installing, version 3.2.4]
gtk3cairo: yes [installing, version 3.2.4]
gtkagg: no [The C/C++ header for gtk (gtk/gtk.h) could not
be found. You may need to install the development
package.]
tkagg: no [TKAgg requires Tkinter.]
wxagg: no [requires wxPython]
gtk: no [The C/C++ header for gtk (gtk/gtk.h) could not
be found. You may need to install the development
package.]
agg: yes [installing]
cairo: yes [installing, version 1.8.8]
windowing: no [Microsoft Windows only]
OPTIONAL LATEX DEPENDENCIES
dvipng: yes [version 1.14]
ghostscript: yes [version 9.05]
latex: yes [version 3.1415926]
pdftops: yes [version 0.18.4]
============================================================================
* The following required packages can not be built:
* freetype
Il semblait que le paquet 'freetype' était manquant, alors j'ai téléchargé ses sources et j'ai découvert qu'il pouvait être installé à un endroit spécifique en exécutant:
./configure --prefix=/myhome/somedir
make
make install
Ma question est la suivante: où dois-je installer freetype pour qu’il puisse être détecté par distutils?
Ma première pensée a été de l’installer dans /myhome/.local
car c’est là que distutils installe un module lorsqu’il utilise l’option --user
. Malheureusement, lors de cette opération, j’ai toujours reçu le même message que ci-dessus.
J'ai essayé quelque chose de plus compliqué en créant un environnement virtuel en utilisant le paquet virtualenv:
virtualenv /myhome/venv/
Ensuite, j’ai installé freetype dans myhome/venv/
et enfin, j’ai exécuté les distutils dans cet environnement virtuel, mais cela m’a renvoyé le même message.
Merci de votre aide et, bien sûr, je ne demanderai pas à mon administrateur système d’installer Matplotlib pour moi.
PS: quelque chose qui n'a certes aucun lien avec mon problème mais qui mérite d'être noté: j'installe le paquet freetype en utilisant ./configure --prefix=/myhome/somedir --without-png
. Sans l'option --without-png
, j'obtiens l'erreur suivante:
checking for libpng... configure: error: `libpng-config' not found;
either set the LIBPNG_CFLAGS and LIBPNG_LDFLAGS environment variables,
or pass `--without-png' to the `configure' script.
Vous devez installer la configuration système requise, et cela n’est pas lié à python, pip, virtualenv.
Pour installer la configuration requise, veuillez vous référer à ceci. https://stackoverflow.com/a/20533455/2962018
En un mot,
Ubuntu/Debian
apt-get install libfreetype6-dev
Chapeau rouge
yum -y install freetype-devel
OSX
brew install freetype
Après avoir installé freetype, essayez
pip install matplotlib
Sur la base de quelques suggestions ici et d'autres instructions sur Internet, la recette suivante a fonctionné pour moi:
wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
tar xzf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/myhome/local --without-png
make && make install
export PKG_CONFIG_PATH=/myhome/local/lib/pkgconfig
pip install matplotlib --upgrade
D'après ce que je peux voir, la configuration de matplot finira par appeler l'invite avec
pkg-config freetype2 --modversion
essayer de trouver le paquet. Il semble que cela échoue lors de cet appel.
Essayez de voir quelle erreur cette commande vous donne et dites-le nous. Voir http://people.freedesktop.org/~dbn/pkg-config-guide.html pour plus d'informations sur pkg-config. Sur certains systèmes, il est possible que pkg-config ne soit pas installé.
UPDATE: D'après ce que je peux obtenir des fichiers d'installation de matplotlib, il cherchera ft2build.h dans les sous-répertoires include, lib et lib64 dans les répertoires/usr/local et dans/usr.
Vous pouvez trouver les fichiers sources nécessaires pour freetype à l’adresse http://www.freetype.org/developer.html (vous aurez besoin des fichiers .h, mais cela ne fera pas de mal de tous les obtenir).
Si vous n'avez pas accès à l'un de ces répertoires, vous pouvez ajouter des répertoires à rechercher en modifiant l'entrée des répertoires dans setup.cfg pour matplotlib.
Si vous ne pouvez pas modifier le fichier setup.cfg, vous pouvez également essayer de le modifier directement dans votre répertoire matplotlib. À la ligne 95, il existe une fonction get_base_dirs, vous pouvez modifier cette fonction pour renvoyer des répertoires supplémentaires dans lesquels elle effectuera une recherche (elle recherchera les sous-répertoires include, lib et lib64 dans ces répertoires ajoutés).
Peut-être très tard maintenant, mais je viens de faire face au même problème lors de l'installation de matplotlib
dans virtualenv
créé à l'aide de virtualenvwrapper
.
Ces instructions ont fonctionné pour moi: http://newcoder.io/dataviz/part-0/
Plus précisément pour mac: J'ai eu un problème similaire lors de l'installation de matplotlib. Suivez ces instructions et vous avez terminé:
Installez python3 en utilisant une infusion. (Ignorez cette étape si vous l'avez déjà) Remarque: Pour installer l'infusion.
brew install python3
Installer freetype:
brew install freetype
Maintenant, installez pkg-config en utilisant pip3:
brew install pkg-confi
Enfin, installez matplotlib:
Sudo pip3 install matplotlib
J'ai eu la même erreur lors de l'installation de matplotlib. L'installation de pkg-config a fonctionné pour moi. Essayez la commande suivante pour Ubuntu:
Sudo apt-get install pkg-config