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?

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

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

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 .


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

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

4

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

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

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++

1

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


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.