20

Snow Leopard で Python 用の matplotlib をコンパイルしようとして、半日を費やしました。Google を使用して、この役立つページ ( http://blog.hyperjeff.net/?p=160 ) を見つけましたが、まだコンパイルできません。そのページに他のユーザーからのコメントが表示されるので、私だけではないことがわかります。

zlib、libpng、および freetype を個別にインストール済みです。

これを上部に含めるように make.osx ファイルを編集しました。

PREFIX=/usr/local

PYVERSION=2.6
PYTHON=python${PYVERSION}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
FREETYPEVERSION=2.3.5
MACOSX_DEPLOYMENT_TARGET=10.6

## You shouldn't need to configure past this point

PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
CFLAGS="-Os -arch x86_64 -arch i386 -I${PREFIX}/include"
LDFLAGS="-arch x86_64 -arch i386 -L${PREFIX}/lib"
CFLAGS_DEPS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX10.6.sdk"
LDFLAGS_DEPS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX10.6.sdk"

次に実行します:

sudo make -f make.osx mpl_build

それは私に与える:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" &&\
    export MACOSX_DEPLOYMENT_TARGET=10.6 &&\
    export CFLAGS="-Os -arch x86_64 -arch i386 -I/usr/local/include" &&\
    export LDFLAGS="-arch x86_64 -arch i386 -L/usr/local/lib" &&\
    python2.6 setup.py build

... snip ...

gcc-4.2 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -Os -arch x86_64 -arch i386 -I/usr/local/include -pipe -DPY_ARRAYAUNIQUE_SYMBOL=MPL_ARRAY_API -I/Library/Python/2.6/site-packages/numpy/core/include -I. -I/Library/Python/2.6/site-packages/numpy/core/include/freetype2 -I./freetype2 -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/ft2font.cpp -o build/temp.macosx-10.6-universal-2.6/src/ft2font.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
In file included from src/ft2font.h:13,
                 from src/ft2font.cpp:1:
/usr/local/include/ft2build.h:56:38: error: freetype/config/ftheader.h: No such file or directory

... snip ...

src/ft2font.cpp:98: error: ‘FT_Int’ was not declared in this scope
/Library/Python/2.6/site-packages/numpy/core/include/numpy/__multiarray_api.h:1174: warning: ‘int _import_array()’ defined but not used
lipo: can't open input file: /var/tmp//ccDOGx37.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1
make: *** [mpl_build] Error 1

私はただ迷っています。

4

7 に答える 7

7

エラー メッセージによると、freetype ヘッダーがありません。システム検索機能を使用してそれらを見つけることができますか? 私は最初から頭を悩ませてコンパイルすることも好きなので、ビルド済みパッケージの使用については説明しません。

于 2009-09-25T13:49:12.067 に答える
6

このソリューションは、OSX 10.8.3 でうまくいきました。

ln -s /usr/local/include/freetype2/freetype/ /usr/include/freetype

(クレジットは実際にはhttp://simpleyuan.blogspot.com/2012/08/matplotlib-error-mac-os-x.htmlに送られます)

于 2013-04-17T20:51:33.177 に答える
3

を使用してビルドすることもできます

$ python setup.py build

次のパッチを setupext.py に適用

Index: setupext.py
===================================================================
--- setupext.py (revision 7917)
+++ setupext.py (working copy)
@@ -334,6 +334,8 @@

     module.include_dirs.extend(incdirs)
     module.include_dirs.append('.')
+    module.include_dirs.append('/usr/local/include')
+    module.include_dirs.append('/usr/local/include/freetype2')
     module.library_dirs.extend(libdirs)

 def getoutput(s):
于 2009-11-03T09:41:05.977 に答える
1

Python.org 2.7.1 の場合:

私は指示を組み合わせて使用​​しました。基本的には、OSX の /usr/X11 にある libpng を使用して機能しました。

  1. freetype2 v2.4.4 および zlib v1.2.5 をダウンロード、ビルド、インストール (make install) しました。make deps を使用しませんでした。

  2. setupext.py を次のように変更しました

    module.include_dirs.extend(incdirs)
    module.include_dirs.append('.')
    module.include_dirs.append('/usr/local/include')
    module.include_dirs.append('/usr/local/include/freetype2')
    module.include_dirs.append('/usr/X11/include')
    module.library_dirs.extend(libdirs)
    module.library_dirs.append('/usr/local/lib')
    module.library_dirs.append('/usr/X11/lib')
    
  3. 同じ /usr/X11 情報を含むように make.osx を変更しました。png バージョン 1.2.5 は OSX 10.6.6 の現在のネイティブです

    PYVERSION=2.7
    
    PYTHON=python${PYVERSION}
    
    ZLIBVERSION=1.2.5
    
    PNGVERSION=1.2.44
    
    FREETYPEVERSION=2.4.4
    
    MACOSX_DEPLOYMENT_TARGET=10.6
    
    OSX_SDK_VER=10.6
    
    ARCH_FLAGS="-arch i386-arch x86_64"
    
    PREFIX=/usr/local
    
    MACPREFIX=/usr/X11
    
    PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
    
    CFLAGS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -I${MAXPREFIX}/include -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
    
    LDFLAGS="-arch i386 -arch x86_64 -L${PREFIX}/lib -L/usr/X11/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
    
    FFLAGS="-arch i386 -arch x86_64"
    
  4. それから標準

    sudo make -f make.osx mpl_build   
    sudo make -f make.osx mpl_install   
    sudo python setup.py install
    
  5. クリキー...うまくいくようです。10.6.6 で 2.7.1 を使用して Image & MDP & pylab & matplotlib を使用できるようになりました

Image モジュール (Imaging-1.7.7) は、libjpeg をインストールすれば問題なく動作します。私は使用jpegsrc.v8cしましたが、それは十分に幸せそうでした。

于 2011-04-12T03:09:02.247 に答える
0

私はちょうどそれをコンパイルしました。make.osx ファイルの CFLAGS のインクルード パスに freetype2 を追加しました。make.osx の先頭は次のとおりです。

PREFIX=/usr/local

PYVERSION=2.6
PYTHON=python${PYVERSION}
ZLIBVERSION=1.2.3
PNGVERSION=1.2.33
FREETYPEVERSION=2.3.5
MACOSX_DEPLOYMENT_TARGET=10.6

## You shouldn't need to configure past this point

PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
CFLAGS="-Os -arch x86_64 -arch i386 -I${PREFIX}/include -I${PREFIX}/include/freetype2"
LDFLAGS="-arch x86_64 -arch i386 -L${PREFIX}/lib"
CFLAGS_DEPS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX10.6.sdk"
LDFLAGS_DEPS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX10.6.sdk"

次に、これらのコマンドを実行すると、完全にコンパイルおよびインストールされました。

sudo make -f make.osx mpl_build
sudo make -f make.osx mpl_install
于 2009-09-25T13:51:05.647 に答える
0

他の場所で提案されているように、macports は複数のアーキテクチャとバージョンの MacOsX + で正常に動作し、更新などが可能です。

$ port search matplot
py-matplotlib @0.99.0 (python, graphics, math)
    matlab-like syntax for creating plots in python

py-matplotlib-basemap @0.99.4 (python, graphics, math)
    matplotlib toolkit for plotting data on map projections

py25-matplotlib @0.99.0 (python, graphics, math)
    matlab-like syntax for creating plots in python

py25-matplotlib-basemap @0.99.4 (python, graphics, math)
    matplotlib toolkit for plotting data on map projections

py26-matplotlib @0.99.0 (python, graphics, math)
    matlab-like syntax for creating plots in python

py26-matplotlib-basemap @0.99.4 (python, graphics, math)
    matplotlib toolkit for plotting data on map projections

Found 6 ports.
$

あなたの場合、単に発行します:

$ sudo port install py26-matplotlib

デフォルトとしてmacosxバックエンド(ネイティブココア)を備えています

于 2009-12-24T11:56:02.590 に答える
-1

これについては、matplotlib-users メーリング リストで質問する必要があります。StackOverflow(AFAIK)ではなく、実際のmatplotlib開発者によって監視されています。

于 2009-10-04T03:29:20.397 に答える