新しいwafビルドを使用してMacにpycairo1.10をインストールした人はいますか?失敗すると、Pythonヘッダーが見つかりません。
3 に答える
MacOSXではwafが深刻に壊れていると思います:(
これが私にとってどのように機能したかです。python waf configure
Python.hが見つからなかった後、 build_directoryにあるconfig.logファイルを調べたところ、失敗の本当の原因は互換性のないアーキテクチャであることがわかりました。wafスクリプトは、i386アーキテクチャを使用して、CPython呼び出しを含む単純なソースファイルを作成しようとします。私のPythonはx86_64アーキテクチャ用に構築されているため、これは失敗します。
Pythonをユニバーサルバイナリとして再構築できると思いますが、私はそれを試していません。ただし、x86_64アーキテクチャを使用してpycairoをビルドすることは可能です。方法は次のとおりです。
私のセットアップ:
$ python --version
Python 2.7.2
$ type python
python is /usr/local/bin/python
$ file /usr/local/bin/python
/usr/local/bin/python: Mach-O 64-bit executable x86_64
$ brew --version
0.8
重要:私のPythonバージョンはx86_64
アーキテクチャ用に構築されています。以下に説明する手順を実行する前に、それがあなたにも当てはまることを確認してください。
brewはhomebrewの略です。次の手順を実行するには、finkまたはMacPortsの代わりに使用する必要があります。
ここで、cairoとpycairoをインストールするには、次のようにします。
brew install cairo
(本日現在のバージョン1.10.2 )python 2.xのpycairoソースを取得します(スナップショットを取得した場合、py2cairoという名前になりますが、pycairoにはpython 3.xが必要になります)。マスターブランチからのソースを使用しました(コミットf3435910d8f5365b45ebd4216f4043383c9e3e19)
wscript
選択したエディターで開き、関数内の行を見つけて、そのenv = ctx.env
下configure
に次の行を追加しますenv.append_unique('CFLAGS', ['-arch', 'x86_64'])
ファイルを保存します
ターミナルで次のコマンドを実行します。
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/
重要:後者のパスは、自作でカイロをインストールした場合にのみ機能します
次に、pycairoのINSTALLファイルで説明されているwafコマンドを実行します。
python waf configure
python waf build
python waf install
これでうまくいくはずです。それがうまくいかない場合は、pycairoメーリングリスト(ある場合)でトピックを取り上げたほうがよいと思います。
これに戻ってきた人のために、llimllibのリンクに基づいて、少し異なるアプローチでpy2cairoをOSXLionにインストールすることができました。お役に立てれば:
python waf clean
export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7/lib:$LD_LIBRARY_PATH
export LINKFLAGS='-search_dylibs_first -L /Library/Frameworks/Python.framework/Versions/2.7/lib/'
export ARCHFLAGS='-arch x86_64'
export CC=/usr/bin/gcc-4.2
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/
python waf configure --prefix=$PYTHONPATH
python waf build
python waf install
アンドロイドのステップはほとんど機能します。(llimllibから)使用する必要があります:
export ARCHFLAGS='-arch x86_64'
ステップ5で、その後python waf install
成功することができます。