Ubuntu exécutant `pip install` donne l'erreur 'Les packages requis suivants ne peuvent pas être compilés: * freetype'


145

Lors de l'exécution pip install -r requirements.txt, j'obtiens l'erreur suivante au cours de l'étape d'installation matplotlib:

REQUIRED DEPENDENCIES AND EXTENSIONS
                 numpy: yes [not found. pip may install it below.]
              dateutil: yes [dateutil was not found. It is required for date
                        axis support. pip/easy_install may attempt to
                        install it after matplotlib.]
               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.]

...

The following required packages can not be built:

                    * freetype

Ne devrait-il pas pip install -r requirements.txtégalement installer freetype? Comment freetype doit-il être installé dans Ubuntu 12.04 pour qu'il fonctionne avec matplotlib?

Réponses:


221

No. pipn'installe pas les dépendances au niveau du système. Cela signifie pipn'installe pas les RPM ( systèmes basés sur Redhat ) ou les DEB ( systèmes basés sur Debian ).

Pour installer les dépendances système, vous devrez utiliser l'une des méthodes suivantes en fonction de votre système.

Ubuntu / Debian:

apt-get install libfreetype6-dev

Pour rechercher des paquets sur des systèmes basés sur Ubuntu / Debian:

apt-cache search <string>

par exemple:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

Pour rechercher des packages sur des systèmes basés sur Redhat / CentOS / Fedora:

yum search <string>

par exemple:

yum search freetype | grep devel

Mac OS X: ( via Homebrew )

brew install freetype

Pour rechercher des packages sur les systèmes Mac OS X:

brew search <string>

par exemple:

brew search freetype

Désolé, ça s'appelle freetype2ces jours-ci. Actualisé.
James Mills

apt-get install freetype2-develdonne la même erreur aussi ... Serait-ce possible apt-get install freetype*? Cela semble vouloir installer de nombreux autres paquets
Athena Wisdom

Cela fonctionnera probablement aussi :) Désolé, je crois que cela s'appelle libfreetype2-devel. Je vais mettre à jour ma réponse à nouveau: /
James Mills

2
Je pense que la -develconvention est pour RPM et la -devconvention est pour DEB. Essayez apt-cache search '^libfreetype.*-dev$'ce qui donne libfreetype6-dev.
Dietrich Epp

9
fwiw, brew install freetypem'a aidé sur OSX
Nate

144

J'ai dû installer libxft-dev pour activer matplotlib sur le serveur ubuntu 14.04.

sudo apt-get install libfreetype6-dev libxft-dev

Et puis je pourrais utiliser

sudo easy_install matplotlib

10
Sur Ubuntu 12.04 LTS, j'avais également besoin d'installer libxft-dev. Merci pour cette information supplémentaire
toom

3
Pourquoi ne pas utiliser directement sudo apt-get install python-matplotlib comme recommandé ici: matplotlib.org/users/installing.html
Timo

2
J'avais déjà installé libfreetype6-dev. Cela m'a aidé sur Ubuntu 14.10, merci!
wim

4
le truc libxft-dev est ce qui l'a fait pour moi! Merci!
TerminalDilettante

10
Apparemment, la vraie dépendance ici est pkg-config, qui libxft-devs'installe également en tant que dépendance. Donc, la bonne réponse serait de courirapt-get install libfreetype6-dev pkg-config
Carles Sala

28

Une solution de contournement consiste à faire sudo apt-get install pkg-configce que j'ai trouvé dans ce problème github .


3
L'installation pkg-configétait également l'étape non intuitive manquante pour moi, ceci lors de l'installation matplotlibdans un conteneur de docker avec ubuntu:14.04comme image de base.
SlimJim

Cela a également résolu le problème pour moi également sur une machine virtuelle virtualbox. Il semble que pkg-configce soit ce qui est nécessaire pour les installations de machines virtuelles.
Alma

6

Aucune des réponses existantes n'a fonctionné pour moi pour mettre à niveau matplotlib sur Ubuntu. C'est ce qui fonctionne finalement pour moi:

$ sudo apt-get install build-dep python-matplotlib
$ pip install matplotlib --upgrade

6

Cette commande téléchargera toutes les dépendances.

Pour python 2.x

sudo apt-get install python-matplotlib

Pour python 3.x

sudo apt-get install python3-matplotlib

Après l'installation, vous pouvez essayer

(sudo) pip install matplotlib

4

Sur Ubuntu, cela a fonctionné après l'installation du blt-devpackage.

$sudo apt-get install blt-dev
$pip install matplotlib

blt-dev doit apt-get install libfreetype6-devs'exécuter pour être automatiquement installé avec blt-dev.
Tristan

1

J'utilise Mint et aucune de ces réponses n'a fonctionné pour moi, je devais:

sudo apt-get install build-essential g++

1

J'ai eu le même problème avec Python 3.6 sous Windows, mais je suis ensuite passé à Python 3.5.2 et tout fonctionne bien.


0

Cette commande a sudo apt-get install libfreetype6-devéchoué pour moi sur ubuntu 16.04,
The following packages have unmet dependencies: libfreetype6-dev : Depends: libfreetype6 (= 2.6.1-0.1ubuntu2) but 2.6.1-0.1ubuntu2.3 is to be installed

J'ai donc téléchargé freetype installé à partir de la source , crédit à ce guide

$ tar -xvjf freetype-x.y.tar.bz2  # extract the downloaded version file
$ cd freetype-x.y/ 
$ ./configure
$ make
$ sudo make install 

passé à virtualenv et pip install matplotlibet tout fonctionne.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.