Ubuntu mit `pip install` gibt den Fehler 'Die folgenden erforderlichen Pakete können nicht erstellt werden: * freetype'

145

pip install -r requirements.txtWährend der Ausführung wird während der Installationsphase der folgende Fehler angezeigt 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

Sollte nicht pip install -r requirements.txtauch freetype installiert werden? Wie sollte Freetype in Ubuntu 12.04 installiert werden, damit es funktioniert matplotlib?

Athena Weisheit
quelle

Antworten:

221

Nr. pipInstalliert keine Abhängigkeiten auf Systemebene. Dies bedeutet, pipdass keine RPMs ( Redhat-basierte Systeme ) oder DEBs ( Debian-basierte Systeme ) installiert werden .

Um Systemabhängigkeiten zu installieren, müssen Sie je nach System eine der folgenden Methoden verwenden.

Ubuntu / Debian:

apt-get install libfreetype6-dev

So suchen Sie nach Paketen auf Ubuntu / Debian-basierten Systemen:

apt-cache search <string>

z.B:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

So suchen Sie nach Paketen auf Redhat / CentOS / Fedora-basierten Systemen:

yum search <string>

z.B:

yum search freetype | grep devel

Mac OS X: ( über Homebrew )

brew install freetype

So suchen Sie auf Mac OS X-basierten Systemen nach Paketen:

brew search <string>

z.B:

brew search freetype
James Mills
quelle
Entschuldigung, es heißt freetype2heutzutage. Aktualisiert.
James Mills
apt-get install freetype2-develgibt den gleichen Fehler auch ... Könnte es sein apt-get install freetype*? Das scheint viele andere Pakete installieren zu wollen
Athena Wisdom
Das wird wahrscheinlich auch funktionieren :) Entschuldigung, ich glaube, es heißt libfreetype2-devel. Ich werde meine Antwort erneut aktualisieren: /
James Mills
2
Ich denke, die -develKonvention ist für RPM und die -devKonvention ist für DEB. Versuchen Sie apt-cache search '^libfreetype.*-dev$'was gibt libfreetype6-dev.
Dietrich Epp
9
fwiw, brew install freetypehalf mir auf OSX
Nate
144

Ich musste libxft-dev installieren, um matplotlib auf Ubuntu Server 14.04 zu aktivieren.

sudo apt-get install libfreetype6-dev libxft-dev

Und dann könnte ich gebrauchen

sudo easy_install matplotlib
Sudipta Basak
quelle
10
Unter Ubuntu 12.04 LTS musste ich auch libxft-dev installieren. Vielen Dank für diese zusätzliche Info
Toom
3
Warum nicht direkt sudo apt-get installieren? Python-matplotlib wie hier empfohlen: matplotlib.org/users/installing.html
Timo
2
Ich hatte bereits libfreetype6-dev installiert. Das hat mir am Ubuntu 14.10 geholfen, danke!
wim
4
Das libxft-dev-Ding hat es für mich getan! Vielen Dank!
TerminalDilettante
10
Anscheinend ist die wirkliche Abhängigkeit hier pkg-config, die libxft-devauch als Abhängigkeit installiert wird. Die richtige Antwort wäre also zu rennenapt-get install libfreetype6-dev pkg-config
Carles Sala
28

Es gibt eine Problemumgehung,sudo apt-get install pkg-config die ich in dieser Github-Ausgabe gefunden habe .

nicht verwirrend
quelle
3
Die Installation pkg-configwar auch für mich der fehlende, nicht intuitive Schritt, dies bei der Installation matplotlibin einem Docker-Container mit ubuntu:14.04als Basis-Image.
SlimJim
Dies hat es auch für mich auf einer Virtualbox-VM behoben. Es sieht so aus, als ob dies pkg-configfür die Installation virtueller Maschinen erforderlich ist.
Alma
6

Keine der vorhandenen Antworten hat mir geholfen, matplotlib unter Ubuntu zu aktualisieren. Das ist es, was letztendlich für mich funktioniert:

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

Dieser Befehl lädt alle Abhängigkeiten herunter.

Für Python 2.x.

sudo apt-get install python-matplotlib

Für Python 3.x.

sudo apt-get install python3-matplotlib

Nach der Installation können Sie es versuchen

(sudo) pip install matplotlib
MiaeKim
quelle
4

Unter Ubuntu funktionierte es, nachdem ich das blt-devPaket installiert hatte .

$sudo apt-get install blt-dev
$pip install matplotlib
Caleb Kiage
quelle
blt-dev muss apt-get install libfreetype6-devausgeführt werden, damit es automatisch mit blt-dev installiert wird.
Tristan
1

Ich benutze Mint und keine dieser Antworten hat bei mir funktioniert. Ich musste:

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

Ich hatte das gleiche Problem mit Python 3.6 unter Windows, wechselte dann aber zu Python 3.5.2 und alles funktioniert einwandfrei.

klimenkov
quelle
0

Dieser Befehl ist sudo apt-get install libfreetype6-devfür mich unter Ubuntu 16.04 fehlgeschlagen.
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

Also ich installierte Freetype aus der heruntergeladenen Quelle , Kredit dieser Anleitung

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

auf virtualenv umgestellt pip install matplotlibund alles funktioniert.

StackEdd
quelle