Ubuntu yang menjalankan `pip install` memberikan kesalahan 'Paket-paket yang diperlukan berikut ini tidak dapat dibangun: * freetype'

145

Saat melakukan pip install -r requirements.txt, saya mendapatkan kesalahan berikut selama tahap pemasangannya 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

Bukankah seharusnya pip install -r requirements.txtmenginstal freetype? Bagaimana seharusnya freetype dipasang di Ubuntu 12,04 agar berfungsi dengan baik matplotlib?

Athena Wisdom
sumber

Jawaban:

221

Tidak. Tidak pipakan menginstal dependensi tingkat sistem. Ini berarti piptidak akan menginstal RPM ( sistem berbasis Redhat ) atau DEB ( sistem berbasis Debian ).

Untuk menginstal dependensi sistem, Anda harus menggunakan salah satu metode berikut tergantung pada sistem Anda.

Ubuntu / Debian:

apt-get install libfreetype6-dev

Untuk mencari paket di sistem berbasis Ubuntu / Debian:

apt-cache search <string>

misalnya:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

Untuk mencari paket pada sistem berbasis Redhat / CentOS / Fedora:

yum search <string>

misalnya:

yum search freetype | grep devel

Mac OS X: ( via Homebrew )

brew install freetype

Untuk mencari paket pada sistem berbasis Mac OS X:

brew search <string>

misalnya:

brew search freetype
James Mills
sumber
Maaf itu disebut freetype2hari ini. Diperbarui.
James Mills
apt-get install freetype2-develmemberikan kesalahan yang sama juga ... Mungkinkah apt-get install freetype*? Itu tampaknya ingin menginstal banyak paket lain
Athena Wisdom
Itu mungkin akan bekerja juga :) Maaf, saya percaya ini disebut libfreetype2-devel. Saya akan memperbarui jawaban saya lagi: /
James Mills
2
Saya pikir -develkonvensi ini untuk RPM dan -devkonvensi ini untuk DEB. Coba apt-cache search '^libfreetype.*-dev$'yang memberi libfreetype6-dev.
Dietrich Epp
9
fwiw, brew install freetypemembantu saya di OSX
Nate
144

Saya harus menginstal libxft-dev untuk mengaktifkan matplotlib di server ubuntu 14.04.

sudo apt-get install libfreetype6-dev libxft-dev

Dan kemudian saya bisa menggunakannya

sudo easy_install matplotlib
Sudipta Basak
sumber
10
Di Ubuntu 12,04 LTS saya juga perlu menginstal libxft-dev. Terima kasih atas info tambahan ini
toom
3
Mengapa tidak langsung menggunakan sudo apt-get install python-matplotlib seperti yang disarankan di sini: matplotlib.org/users/installing.html
Timo
2
Saya sudah menginstal libfreetype6-dev. Ini membantu saya di ubuntu 14.10, terima kasih!
wim
4
hal libxft-dev adalah apa yang melakukannya untukku! Terima kasih!
TerminalDilettante
10
Rupanya, ketergantungan nyata di sini adalah pkg-config, yang libxft-devjuga diinstal sebagai ketergantungan. Jadi, jawaban yang tepat adalah menjalankanapt-get install libfreetype6-dev pkg-config
Carles Sala
28

Solusinya adalah melakukan apa sudo apt-get install pkg-configyang saya temukan dalam masalah github ini .

tidak membingungkan
sumber
3
menginstal pkg-configadalah langkah tidak intuitif yang hilang bagi saya juga, ini ketika menginstal matplotlibdalam wadah buruh pelabuhan dengan ubuntu:14.04sebagai gambar dasar.
SlimJim
Ini juga memperbaikinya bagi saya juga di VM virtualbox. Sepertinya pkg-configinilah yang dibutuhkan untuk instalasi mesin virtual.
Alma
6

Tidak ada jawaban yang ada yang berfungsi untuk saya memutakhirkan matplotlib di Ubuntu. Inilah yang akhirnya bekerja untuk saya:

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

Perintah ini akan mengunduh semua dependensi.

Untuk python 2.x

sudo apt-get install python-matplotlib

Untuk python 3.x

sudo apt-get install python3-matplotlib

Setelah menginstal, Anda dapat mencoba

(sudo) pip install matplotlib
MiaeKim
sumber
4

Di Ubuntu, itu berfungsi setelah saya menginstal blt-devpaket.

$sudo apt-get install blt-dev
$pip install matplotlib
Caleb Kiage
sumber
blt-dev perlu apt-get install libfreetype6-devdijalankan sehingga diinstal secara otomatis dengan blt-dev.
Tristan
1

Saya menggunakan Mint dan semua jawaban ini tidak berfungsi untuk saya, saya perlu:

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

Saya memiliki masalah yang sama dengan Python 3.6 pada Windows, tetapi kemudian saya beralih ke Python 3.5.2 dan semuanya berfungsi dengan baik.

klimenkov
sumber
0

Perintah ini sudo apt-get install libfreetype6-devgagal untuk saya di 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

Jadi saya mengunduh freetype dari sumber , kredit untuk panduan ini

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

beralih ke virtualenv dan pip install matplotlibdan semuanya berfungsi.

StackEdd
sumber