Pip menginstal kesalahan Matplotlib dengan virtualenv


106

Saya mencoba menginstal matplotlib di virtualenv baru.

Ketika saya melakukan:

pip install matplotlib

atau

pip install http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz

Saya mendapatkan kesalahan ini:

building 'matplotlib._png' extension

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -  DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/usr/local/include -I/usr/include -I. -I/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/numpy/core/include -I. -I/usr/include/python2.7 -c src/_png.cpp -o build/temp.linux-x86_64-2.7/src/_png.o

src/_png.cpp:10:20: fatal error: png.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

Ada yang tahu apa yang sedang terjadi?

Setiap bantuan sangat dihargai.


2
Anda juga dapat melihat The following required packages can not be built: freetype, pngkesalahan yang sama di (menurut saya) versi yang lebih baru pip.
LondonRob

Jawaban:


176

Membangun Matplotlib membutuhkan libpng(dan freetype, juga) yang bukan pustaka python, jadi piptidak menangani penginstalan (atau freetype).

Anda harus menginstal sesuatu di sepanjang baris libpng-develdan freetype-devel(atau apa pun yang setara untuk OS Anda).

Lihat persyaratan / instruksi bangunan untuk matplotlib.


44
Terimakasih atas infonya! Aku akhirnya berhasil bekerja dengan menginstal dependensi berikut di ubuntu: libpng-dev, libjpeg8-dev, libfreetype6-dev.
Darwin Tech

37
sudo apt-get build-dep python-matplotlibjuga berhasil!
grisaitis

2
Ini mungkin berhasil, tetapi perhatikan bahwa ia ingin menginstal beberapa paket (lebih dari yang dapat ditampung di kotak komentar ini), tetapi sekitar paket senilai 0,6 GB.
Achal Dave

18
Pada sistem debian saya (wheezy / unstable), gagal meskipun sudah libfreetype6-devdiinstal. Ternyata saya juga perlu pkg-configdipasang.
Jon

Saya sebenarnya memiliki libfreetype6-dev yang terpasang di ubuntu 14.04. Matplotlib sepertinya tidak akan memetiknya.
tutuca


30

Karena saya telah berjuang dengan masalah ini dua kali (bahkan setelah kubuntu 15.04 menginstal baru) dan menginstal freetype tidak menyelesaikan apa pun, saya menyelidiki lebih lanjut.

Solusinya:
Dari masalah github:

Bug ini hanya terjadi jika pkg-config tidak diinstal;
simple
sudo apt-get install pkg-config
akan menopang jalur include untuk saat ini.

Setelah instalasi ini berjalan dengan lancar.


Sama disini. pip install matplotlib memberi saya kesalahan: IMPORTANT WARNING: pkg-config is not installed. matplotlib may not be able to find some of its dependencies.Freetype menunjukkan tidak diinstal. Saya baru saja melakukannya brew install pkg-configdan mampu bertahan.
Lily

Ini juga masalah pada Bash di Ubuntu pada Pratinjau Orang Dalam Windows
Jens de Bruijn

27

Sebagai tambahan, di Amazon EC2, yang perlu saya lakukan adalah:

sudo yum install freetype-devel
sudo yum install libpng-devel
sudo pip install matplotlib

6
Dianjurkan untuk menginstal paket ke lingkungan virtual, yang membuatnya pipsangat menyenangkan. Karenanya sudo pip installmeniadakan sebagian besar kegunaan yang dibawa pip ke tabel.
Roman

8

Di OSX saya bisa mendapatkan matplotlib untuk diinstal melalui:

pip install matplotlib==1.4.0

hanya setelah saya berlari:

brew install freetype


2
sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev

bekerja untuk saya di Ubuntu 14.04


Aku butuh sudo apt-get install pkg-configdulu.
jpcgt

@RahulChauhan: Harap posting solusi alternatif Anda sebagai jawaban terpisah daripada mencoba mengeditnya menjadi jawaban orang lain.
Ilmari Karonen

0

Tak satu pun dari jawaban di atas berhasil untuk saya di Mint, jadi saya lakukan:

sudo apt-get install build-essential g++

0

Jika di MacOSx coba

xcode-select --install

Ini sesuai subprocess 32, alasan kegagalan.


0

Untuk mengurangi paket yang diperlukan untuk menginstal, Anda hanya perlu

apt-get install -y \
    libfreetype6-dev \
    libxft-dev && \
    pip install matplotlib

dan Anda akan mendapatkan paket berikut diinstal secara lokal

Collecting matplotlib
  Downloading matplotlib-2.2.0-cp35-cp35m-manylinux1_x86_64.whl (12.5MB)
Collecting pytz (from matplotlib)
  Downloading pytz-2018.3-py2.py3-none-any.whl (509kB)
Collecting python-dateutil>=2.1 (from matplotlib)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
Requirement already satisfied: six>=1.10 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Collecting cycler>=0.10 (from matplotlib)
  Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting kiwisolver>=1.0.1 (from matplotlib)
  Downloading kiwisolver-1.0.1-cp35-cp35m-manylinux1_x86_64.whl (949kB)
Requirement already satisfied: numpy>=1.7.1 in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages (from matplotlib)
Requirement already satisfied: setuptools in /opt/conda/envs/pytorch-py35/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg (from kiwisolver>=1.0.1->matplotlib)
Installing collected packages: pytz, python-dateutil, pyparsing, cycler, kiwisolver, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.0.1 matplotlib-2.2.0 pyparsing-2.2.0 python-dateutil-2.6.1 pytz-2018.3

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.