Mac OSXLionにmatplotlibをインストールしようとしていました。 sourcefourgeサイトにあるバイナリを使用しようとしましたが、「matplotlibをインストールするにはシステムPython 2.7が必要です」」というエラーが発生しました。
ターミナルに行き、python --versionと入力して、要件を確認しました。
この後、私はピップを使おうとしましたが、そうしている間に次のエラーが発生しました。
"src/_image.cpp:908:エラー:不完全なタイプ「structpng_info_def」の無効な使用」
インストール方法の手がかりを教えてください。
どうもありがとう。
編集:新しいバージョンのPythonをインストールせずに方法を見つけました:
「公式」で試すことができますpython配布、Appleは、提供されたものを微調整した可能性があります。2.7はここにあります: http: //www.python.org/download/ 後からnumpyも再インストールする必要があるかもしれません: http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/
Scipyもインストールすることをお勧めしますそれが機能するかどうか教えてください;)
これは、libpng v1.5(Mac OSX Lionに含まれている)のAPIが変更されたためです。変更はすでにアップストリームにプッシュされているため、次のリリースまでアップストリームリポジトリからコンパイルする必要があります。
http://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-os-x-10-7-with-homebrew/ の指示に従うことができます
私はこれに従いました ページの指示 。行き詰まった
pip install -e git+https://github.com/matplotlib/matplotlib#Egg=matplotlib-dev
それから私はしました:
git clone https://github.com/matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install
ターミナルに入力してインストールを確認しました:
python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__
バージョン0.10.0dev(この記事の執筆時点)とパス/ usr/local/Cellar/..を入手しました。
macports を使用することをお勧めします。依存関係を処理する必要があり、システムpythonバージョンに依存しません。
[〜#〜]編集[〜#〜]:この回答へのコメントを考慮した、いくつかの説明。
なぜmacports(または別のインストーラー)を使用するのですか?それらは依存関係を処理するため、バージョンをアンインストールして切り替える機能を提供します(gccとpythonでは後者を正常に使用しました)。また、デフォルトのインストール場所はシステムの実行可能場所ではないためです。システムをオーバーライドするとpythonは、システムに依存するアプリケーションを壊す可能性があります(これは、多くのLinuxディストリビューションでは確かに当てはまりますが、mac OS Xではそうではないかもしれません)。
特に役立つのはいつですか?システムpythonとは異なるバージョンpython)の上にインストールする場合、およびPython以外の拡張機能(C、C++、Fortran ...)がある場合。
欠点は何ですか? @Trondがコメントで述べているように、パッケージのデフォルトのコンパイルで問題がない場合は良いことです。ソースからビルドした場合のように、設定より規約やコンパイラフラグを処理することはできません。
Macportsの良い代替手段は fink です。これにより、より多くの制御が可能になります(ソースからビルド)。 mac OS XLionに完全に対応できるかどうかはまだわかりません。
かなり時間がかかることは承知していますが、システムに一貫性を持たせるために、ソースからpython、numpy、matplotlibをインストールすることをお勧めします。エラーから、libPNGのサポートに問題があるように見える可能性があります。私は " Mac OSXにpython dev tools "をインストールする方法)== "を書いています。これには、python、numpy、matplotlibをインストールする方法の説明が含まれています。 Python 2.7で作業していて、リストしている方向はPython 2.6.5ですが、同じですアプローチ。それが機能することを願っています。
Python2.6がLionに含まれていると仮定すると、Python 2.6バージョンのMatplotlibをインストールできます(py2.5および2.6はMac OS10.6「SnowLeopard」に含まれています-入力してみてください- python2.6そのバージョンがインストールされているかどうかを確認します。).
MacPortsでは、次のような方法でこれを行います。
Sudo port install py26-matplotlib
ここで、py26 -...(またはpy25 -...、py27 -...など)は、それがどのpythonバージョンを対象としているのかを示します。(パレット/ポートリストをチェックして、私が間違って推測した場合に備えて、正しいパッケージ名)