Jak zainstalować matplotlib na OS X?

19

Chcę zainstalować matplotlib na OS X. Jeśli to możliwe, używając homebrew.

Zainstalowałem Python 2.7.1 używając brew install python, zmodyfikowałem swoją ścieżkę, aby go użyć
Zainstalowałem pip używając brew install pip
Zainstalowałem numpy 1.5.1 używając pip install numpy
Zainstalowałem scipy 0.8.0 używającpip install scipy

To tam robi się owłosione. pip install matplotlibpobierze niewłaściwą wersję matplotlib , która jest niezgodna z najnowszą wersją numpy.

Rozwiązaniem jest ręczne pobranie poprawnej wersji matplotlib:

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

Ale ta wersja nie może się skompilować, ponieważ nie może znaleźć nagłówków typu swobodnego:

W pliku dołączonym z src / ft2font.cpp: 1:
src / ft2font.h: 14: 22: error: ft2build.h: Brak takiego pliku lub katalogu

Te nagłówki są faktycznie instalowane /usr/X11/includejako część narzędzi programistycznych X11.

Jak więc zmusić matplotlib do korzystania z tych nagłówków?

bastibe
źródło
Próbowałem brew install freetype?
ismail
Tak. Ten pakiet nie jest dostępny. Istnieje jednak formuła na github, która to zapewnia. Ale to nie pomaga.
bastibe
1
brew install freetypepracował dla mnie od 7 listopada 2012
drootang

Odpowiedzi:

18

Problem polega na tym, że gdy kompilowane są rozszerzenia C, wymagane pliki nagłówków nie znajdują się na ścieżce wyszukiwania, a gdy są połączone, biblioteki udostępnione również nie znajdują się na ścieżce wyszukiwania.

Dla mnie działało:

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
źródło
12

Prosta odpowiedź brzmi: musisz mieć pkg-infozainstalowany, w przeciwnym razie setup.pynie będziesz w stanie znaleźć zainstalowanych bibliotek.

bastibe
źródło
1
Jak się instaluje pkg-info?
bradley.ayers
@bradleybrew install pkg-info
bastibe
7
Właściwie myślę, że powinno być pkg-configtak brew install pkg-config. I nie zapomnij o brew linktym.
noio
Miałem zainstalowany pkg-config, ale to nie działało. Rozwiązanie bradley.ayers zadziałało dla mnie.
schlamar
Upewnij się, że plik freetype2.pc znajduje się w lokalizacji, którą pkg-config umie czytać
drootang,
3

Postępowałem zgodnie z instrukcjami na tej stronie . Utknąłem na

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

Potem zrobiłem:

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

Sprawdziłem moją instalację, wpisując terminal:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Mam wersję 1.1.0 (od tego pisania) i ścieżkę / usr / local / Cellar / ...

David Xia
źródło
Na dzień dzisiejszy Matplotlib powinien być w wersji 1.0.1. Właściwie coś o tym napisałem tutaj . Może znajdziesz tam przydatne informacje.
bastibe
Przepraszam, to literówka. Miałem na myśli 1.1.0.
David Xia
3

Alternatywnie, możesz użyć MacPorts lub Fink . W przypadku MacPorts byłoby to możliwe

sudo port install py27-matplotlib

który automatycznie rozwiązuje zależności.

Osobiście użyłem Macports, aby zainstalować python2.7 z matplotlib i wydaje się, że działa dobrze na 10.7. Fink jest w trakcie aktualizacji swoich komponentów wewnętrznych do pracy z nowym systemem kompilacji 10.7.

Tim
źródło
1
Osobiście wolę Homebrew od MacPorts lub Fink, ponieważ opiera się on na bibliotekach systemowych i jest o wiele bardziej hakujący. Jeśli nie przejmujesz się tym, używanie MacPorts lub Fink jest prawdopodobnie najłatwiejszym rozwiązaniem.
bastibe
3

Odpowiedź brzmi: nie ma biblioteki typu swobodnego. po prostu zaparz to:

brew install freetype
Zhengyang Liu
źródło
brew install freetype -> Błąd: Brak dostępnej formuły dla dowolnego typu Czy nazwa się zmieniła?
Tom
1
brew install freetypeinstaluje się libpngrównież.
LWZ,
1

z OS X 10.10.3 Naprawiłem to za pomocą tych poleceń

brew install freetype libpng pkg-config

pkg-config naprawił problem!

Po przeczytaniu tego problemu udało mi się go naprawić

Llazzaro
źródło
1

Ten sam problem przy użyciu Macports. Naprawiono za pomocą:

sudo port install pkgconfig

jak sugerował noio dla naparu powyżej.

Sam Inverso
źródło
0

W dzisiejszych czasach najłatwiej jest prawdopodobnie conda install matplotlibużyć condamenedżera pakietów dzięki analityce Continuum.

Pamiętaj, że możesz zainstalować i używać condabez konieczności korzystania z pełnej dystrybucji Anaconda. Wystarczy pip install conda, conda initi jesteś dobry, aby przejść.

bastibe
źródło
0

Napisałem tę samą odpowiedź tutaj, ale myślę, że może to być interesujące w tej dyskusji.

Mam zainstalować matplotlib na OSX 10.10 czytając https://github.com/matplotlib/matplotlib/pull/3713 .
To nie jest rozwiązanie dla użytkowników pip; tylko sposób na zainstalowanie matplotlib na moim komputerze Mac, czekając na poprawkę.

Pobrałem źródła dla matplotlib 1.4.2,
zmieniłem wiersz 960 w setupext.py, jak opisano w https://github.com/matplotlib/matplotlib/pull/3713/files :

'freetype2', 'ft2build.h',

staje się

'freetype2', 'freetype2/ft2build.h'

a następnie skompilowany i zainstalowany z:

python setup.py build
python setup.py install
karlacio
źródło