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.