Ubuntu ejecutando `pip install` da error 'No se pueden construir los siguientes paquetes requeridos: * freetype'

145

Al realizar pip install -r requirements.txt, recibo el siguiente error durante la etapa en la que se está instalando 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

¿No debería pip install -r requirements.txttambién instalar freetype? ¿Cómo se debe instalar freetype en Ubuntu 12.04 para que funcione matplotlib?

Athena Wisdom
fuente

Respuestas:

221

No. pipno instalará dependencias a nivel del sistema. Esto significa pipque no instalará RPM ( sistemas basados ​​en Redhat ) o DEB ( sistemas basados ​​en Debian ).

Para instalar las dependencias del sistema, deberá utilizar uno de los siguientes métodos según su sistema.

Ubuntu / Debian:

apt-get install libfreetype6-dev

Para buscar paquetes en sistemas basados ​​en Ubuntu / Debian:

apt-cache search <string>

p.ej:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

Para buscar paquetes en sistemas basados ​​en Redhat / CentOS / Fedora:

yum search <string>

p.ej:

yum search freetype | grep devel

Mac OS X: (a través de Homebrew )

brew install freetype

Para buscar paquetes en sistemas basados ​​en Mac OS X:

brew search <string>

p.ej:

brew search freetype
James Mills
fuente
Lo siento, se llama en freetype2estos días. Actualizado.
James Mills
apt-get install freetype2-develtambién da el mismo error ... ¿Podría ser apt-get install freetype*? Parece querer instalar muchos otros paquetes
Athena Wisdom
Eso probablemente funcionará también :) Lo siento, creo que se llama libfreetype2-devel. Actualizaré mi respuesta nuevamente: /
James Mills
2
Creo que la -develconvención es para RPM y la -devconvención es para DEB. Prueba lo apt-cache search '^libfreetype.*-dev$'que da libfreetype6-dev.
Dietrich Epp
9
fwiw, brew install freetypeme ayudó en OSX
Nate
144

Tuve que instalar libxft-dev para habilitar matplotlib en ubuntu server 14.04.

sudo apt-get install libfreetype6-dev libxft-dev

Y luego podría usar

sudo easy_install matplotlib
Sudipta Basak
fuente
10
En Ubuntu 12.04 LTS también necesitaba instalar libxft-dev. Gracias por esta información adicional
toom
3
¿Por qué no usar directamente sudo apt-get install python-matplotlib como se recomienda aquí: matplotlib.org/users/installing.html
Timo
2
Ya tenía libfreetype6-dev instalado. Esto me ayudó en ubuntu 14.10, ¡gracias!
wim
44
¡Lo de libxft-dev es lo que me hizo! ¡Gracias!
TerminalDilettante
10
Aparentemente, la dependencia real aquí es pkg-config, que libxft-devtambién se instala como una dependencia. Entonces, la respuesta correcta sería correrapt-get install libfreetype6-dev pkg-config
Carles Sala
28

Una solución alternativa es hacer sudo apt-get install pkg-configlo que encontré en este problema de github .

no confuso
fuente
3
la instalación también pkg-configfue el paso no intuitivo que faltaba para mí, esto cuando se instaló matplotliben un contenedor acoplable con ubuntu:14.04una imagen base.
SlimJim
Esto también me lo arregló en una VM virtualbox. Parece que pkg-configes lo que se necesita para las instalaciones de máquinas virtuales.
Alma
6

Ninguna de las respuestas existentes funcionó para mí para actualizar matplotlib en Ubuntu. Esto es lo que finalmente funciona para mí:

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

Este comando descargará todas las dependencias.

Para python 2.x

sudo apt-get install python-matplotlib

Para python 3.x

sudo apt-get install python3-matplotlib

Después de instalar, puedes probar

(sudo) pip install matplotlib
MiaeKim
fuente
4

En Ubuntu, funcionó después de que instalé el blt-devpaquete.

$sudo apt-get install blt-dev
$pip install matplotlib
Caleb Kiage
fuente
blt-dev necesita apt-get install libfreetype6-devejecutarse, por lo que se instala automáticamente con blt-dev.
Tristan
1

Estoy usando Mint y ninguna de estas respuestas funcionó para mí, necesitaba:

sudo apt-get install build-essential g++
AndreL
fuente
1

Tuve el mismo problema con Python 3.6 en Windows, pero luego cambié a Python 3.5.2 y todo funciona bien.

klimenkov
fuente
0

Este comando sudo apt-get install libfreetype6-devfalló en 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

Así que descargué el tipo libre instalado de la fuente , crédito a esta guía

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

cambió a virtualenv pip install matplotliby todo funciona.

StackEdd
fuente