Bagaimana cara menginstal matplotlib pada OS X?

19

Saya ingin menginstal matplotlib pada OS X. Jika memungkinkan, menggunakan homebrew.

Saya menginstal Python 2.7.1 menggunakan brew install python, saya memodifikasi jalur saya untuk menggunakannya
saya menginstal pip menggunakan brew install pip
saya menginstal numpy 1.5.1 menggunakan pip install numpy
saya menginstal Scipy 0.8.0 menggunakanpip install scipy

Di sinilah ia menjadi berbulu. pip install matplotlibakan mengambil versi matplotlib yang salah , yang tidak kompatibel dengan versi numpy terbaru.

Solusinya adalah mengambil versi matplotlib yang benar secara manual:

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

Tapi , versi itu gagal dikompilasi karena tidak dapat menemukan header freetype:

Dalam file termasuk dari src / ft2font.cpp: 1:
src / ft2font.h: 14: 22: error: ft2build.h: Tidak ada file atau direktori

Header ini sebenarnya diinstal /usr/X11/includesebagai bagian dari alat pengembang X11.

Jadi, bagaimana saya bisa membuat matplotlib menggunakan header ini?

bastibe
sumber
Sudah mencoba brew install freetype?
ismail
Ya. Paket itu tidak tersedia. Namun ada formula pada github yang menyediakannya. Tapi itu tidak membantu.
bastibe
1
brew install freetypebekerja untuk saya pada 7-Nov-2012
drootang

Jawaban:

18

Masalahnya adalah ketika ekstensi C dikompilasi, file header yang diperlukan tidak ada di jalur pencarian, dan ketika mereka ditautkan, pustaka bersama juga tidak ada di jalur pencarian.

Berikut ini bekerja untuk saya:

export LDFLAGS="-L/usr/X11/lib"
export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12"
pip install matplotlib-1.0.1.tar.gz
bradley.ayers
sumber
12

Jawaban sederhananya adalah: Anda harus pkg-infomenginstal atau yang lain setup.pytidak akan dapat menemukan perpustakaan yang diinstal.

bastibe
sumber
1
Bagaimana cara menginstal pkg-info?
bradley.ayers
@bradleybrew install pkg-info
bastibe
7
Sebenarnya, saya pikir seharusnya pkg-configbegitu brew install pkg-config. Dan jangan lupa brew linkjuga.
noio
Saya sudah menginstal pkg-config, tetapi tidak berhasil. solusi bradley.ayers bekerja untuk saya.
schlamar
Pastikan file freetype2.pc berada di lokasi yang harus dibaca pkg-config
drootang
3

Saya mengikuti instruksi halaman ini . Saya terjebak di

pip install -e git+https://github.com/matplotlib/matplotlib#egg=matplotlib-dev

Lalu saya lakukan:

git clone https://github.com/matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install

Memeriksa instalasi saya dengan mengetikkan terminal:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Saya mendapatkan versi 1.1.0 (saat tulisan ini dibuat) dan path / usr / local / Cellar / ...

David Xia
sumber
Sampai hari ini, Matplotlib harus di versi 1.0.1. Saya sebenarnya menulis sesuatu tentang ini di sini . Mungkin Anda dapat menemukan beberapa informasi berguna di sana.
bastibe
Maaf, itu salah ketik. Maksud saya 1.1.0.
David Xia
3

Secara alternatif, Anda bisa menggunakan MacPorts atau Fink . Dengan MacPorts, ini akan menjadi

sudo port install py27-matplotlib

yang menyelesaikan dependensi secara otomatis.

Secara pribadi saya menggunakan Macports untuk menginstal python2.7 dengan matplotlib dan sepertinya berfungsi dengan baik pada 10.7. Fink sedang dalam proses meningkatkan internal mereka untuk bekerja dengan sistem build 10.7 yang baru.

Tim
sumber
1
Saya pribadi lebih suka Homebrew daripada MacPorts atau Fink karena ini bergantung pada sistem libs dan jauh lebih mudah diretas. Jika Anda tidak peduli tentang itu, menggunakan MacPorts atau Fink mungkin merupakan solusi termudah.
bastibe
3

Jawabannya adalah, tidak ada perpustakaan jenis bebas. cukup diseduh saja:

brew install freetype
Zhengyang Liu
sumber
brew install freetype -> Error: Tidak ada formula untuk freetype. Apakah namanya berubah?
Tom
1
brew install freetypemenginstal libpngjuga.
LWZ
1

dengan OS X 10.10.3 Saya memperbaikinya dengan perintah ini

buat install freetype libpng pkg-config

pkg-config memperbaiki masalah ini!

Setelah membaca masalah ini, saya berhasil memperbaikinya

llazzaro
sumber
1

Masalah yang sama menggunakan macport. Diperbaiki dengan:

sudo port install pkgconfig

seperti yang disarankan noio untuk minuman di atas.

Sam Inverso
sumber
0

Saat ini, mungkin cara termudah adalah conda install matplotlibmenggunakan condapengelola paket dengan analisis kontinum.

Perhatikan bahwa Anda dapat menginstal dan menggunakan condatanpa harus menggunakan distribusi Anaconda penuh. Hanya pip install conda,, conda initdan Anda baik-baik saja.

bastibe
sumber
0

Saya menulis balasan yang sama di sini, tetapi saya pikir ini bisa menarik minat dalam diskusi ini.

Saya harus menginstal matplotlib di OSX 10.10 membaca https://github.com/matplotlib/matplotlib/pull/3713 .
Ini bukan solusi untuk pengguna pip; hanya cara untuk menginstal matplotlib di mac saya menunggu untuk diperbaiki.

Saya mengunduh sumber untuk matplotlib 1.4.2,
mengubah baris 960 di setupext.py seperti yang dijelaskan dalam https://github.com/matplotlib/matplotlib/pull/3713/files :

'freetype2', 'ft2build.h',

becames

'freetype2', 'freetype2/ft2build.h'

dan kemudian dikompilasi dan diinstal dengan:

python setup.py build
python setup.py install
karlacio
sumber