16

新しいwafビルドを使用してMacにpycairo1.10をインストールした人はいますか?失敗すると、Pythonヘッダーが見つかりません。

4

3 に答える 3

13

MacOSXではwafが深刻に壊れていると思います:(

これが私にとってどのように機能したかです。python waf configurePython.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をインストールするには、次のようにします。

  1. brew install cairo(本日現在のバージョン1.10.2 )

  2. python 2.xのpycairoソースを取得します(スナップショットを取得した場合、py2cairoという名前になりますが、pycairopython 3.xが必要になります)。マスターブランチからのソースを使用しました(コミットf3435910d8f5365b45ebd4216f4043383c9e3e19)

  3. wscript選択したエディターで開き、関数内の行を見つけて、そのenv = ctx.envconfigureに次の行を追加します

    env.append_unique('CFLAGS', ['-arch', 'x86_64'])

  4. ファイルを保存します

  5. ターミナルで次のコマンドを実行します。

    export CC=/usr/bin/gcc

    export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/

    重要:後者のパスは、自作でカイロをインストールした場合にのみ機能します

  6. 次に、pycairoのINSTALLファイルで説明されているwafコマンドを実行します。

    python waf configure

    python waf build

    python waf install

これでうまくいくはずです。それがうまくいかない場合は、pycairoメーリングリスト(ある場合)でトピックを取り上げたほうがよいと思います。

于 2011-08-27T16:43:22.843 に答える
12

これに戻ってきた人のために、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
于 2012-03-19T01:58:36.030 に答える
3

アンドロイドのステップはほとんど機能します。(llimllibから)使用する必要があります:

export ARCHFLAGS='-arch x86_64'

ステップ5で、その後python waf install成功することができます。

于 2011-12-21T15:55:56.810 に答える