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.

Darwin Tech
sumber
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.

Joe Kington
sumber
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
51

Untuk menghasilkan grafik dalam format png Anda perlu menginstal paket dependen berikut

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

Ubuntu https://apps.ubuntu.com/cat/applications/libpng12-0/ atau menggunakan perintah berikut

sudo apt-get install libpng12-0
Lava Sangeetham
sumber
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.

Robin Nemeth
sumber
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
ciphor
sumber
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
gh4x
sumber
2
sudo apt-get install libpng-dev libjpeg8-dev libfreetype6-dev

bekerja untuk saya di Ubuntu 14.04

pengguna2436428
sumber
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++
AndreL
sumber
0

Jika di MacOSx coba

xcode-select --install

Ini sesuai subprocess 32, alasan kegagalan.

Coderaemon
sumber
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
loretoparisi
sumber
0

Pilihan lain adalah menginstal anaconda, yang dilengkapi dengan paket seperti: Matplotlib, numpy dan pandas.

https://anaconda.org

Romesh Tirimanna
sumber