Ubuntu che esegue `pip install` dà errore 'Non è possibile creare i seguenti pacchetti richiesti: * freetype'


145

Durante l'esecuzione pip install -r requirements.txt, viene visualizzato il seguente errore durante la fase in cui viene installato 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

Non dovresti pip install -r requirements.txtinstallare anche freetype? Come dovrebbe essere installato il freetype in Ubuntu 12.04 in modo che funzioni matplotlib?

Risposte:


221

No. pipnon installerà dipendenze a livello di sistema. Questo significa pipche non installerà RPM ( sistemi basati su Redhat ) o DEB ( sistemi ) basati su Debian .

Per installare le dipendenze del sistema sarà necessario utilizzare uno dei seguenti metodi a seconda del sistema.

Ubuntu / Debian:

apt-get install libfreetype6-dev

Per cercare pacchetti su sistemi basati su Ubuntu / Debian:

apt-cache search <string>

per esempio:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

Per cercare pacchetti su sistemi basati su Redhat / CentOS / Fedora:

yum search <string>

per esempio:

yum search freetype | grep devel

Mac OS X: ( tramite Homebrew )

brew install freetype

Per cercare pacchetti su sistemi basati su Mac OS X:

brew search <string>

per esempio:

brew search freetype

Mi dispiace si chiama in freetype2questi giorni. Aggiornato.
James Mills,

apt-get install freetype2-develdà anche lo stesso errore ... Potrebbe essere apt-get install freetype*? Questo sembra voler installare molti altri pacchetti
Athena Wisdom il

Probabilmente funzionerà anche :) :) Mi dispiace, credo che si chiami libfreetype2-devel. Aggiornerò di nuovo la mia risposta: /
James Mills il

2
Penso che la -develconvenzione sia per RPM e la -devconvenzione sia per DEB. Prova apt-cache search '^libfreetype.*-dev$'quale dà libfreetype6-dev.
Dietrich Epp,

9
prima, brew install freetypemi ha aiutato su OSX
Nate,

144

Ho dovuto installare libxft-dev per abilitare matplotlib sul server Ubuntu 14.04.

sudo apt-get install libfreetype6-dev libxft-dev

E poi potrei usare

sudo easy_install matplotlib

10
Su Ubuntu 12.04 LTS avevo anche bisogno di installare libxft-dev. Grazie per queste informazioni extra
toom

3
Perché non usare direttamente sudo apt-get install python-matplotlib come raccomandato qui: matplotlib.org/users/installing.html
Timo

2
Avevo già installato libfreetype6-dev. Questo mi ha aiutato su Ubuntu 14.10, grazie!
mercoledì

4
la cosa libxft-dev è ciò che ha fatto per me! Grazie!
TerminalDilettante,

10
Apparentemente, la vera dipendenza qui è pkg-config, che libxft-devsi installa anche come dipendenza. Quindi, la risposta giusta sarebbe quella di correreapt-get install libfreetype6-dev pkg-config
Carles Sala

28

Una soluzione alternativa è fare ciò sudo apt-get install pkg-configche ho trovato in questo numero di github .


3
l'installazione è pkg-configstata la fase non intuitiva mancante anche per me, questo quando si installa matplotlibin un contenitore docker con ubuntu:14.04come immagine di base.
SlimJim

Ciò è stato risolto anche per me su una VM virtualbox. Sembra pkg-configche sia necessario per le installazioni di macchine virtuali.
Alma,

6

Nessuna delle risposte esistenti ha funzionato per me per aggiornare matplotlib su Ubuntu. Questo è ciò che alla fine funziona per me:

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

6

Questo comando scaricherà tutte le dipendenze.

Per python 2.x

sudo apt-get install python-matplotlib

Per python 3.x

sudo apt-get install python3-matplotlib

Dopo l'installazione, puoi provare

(sudo) pip install matplotlib

4

Su Ubuntu, ha funzionato dopo aver installato il blt-devpacchetto.

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

blt-dev deve apt-get install libfreetype6-devessere eseguito, quindi viene installato automaticamente con blt-dev.
Tristan,

1

Sto usando Mint e nessuna di queste risposte ha funzionato per me, dovevo:

sudo apt-get install build-essential g++

1

Ho avuto lo stesso problema con Python 3.6 su Windows, ma poi sono passato a Python 3.5.2 e tutto funziona bene.


0

Questo comando sudo apt-get install libfreetype6-devnon è riuscito per me su 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

Quindi ho scaricato il freetype installato dalla fonte , merito di questa guida

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

passato a virtualenv pip install matplotlibe tutto funziona.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.