9

これまでに行ったことは次のとおりです。

Homebrew をインストールしました:

/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

次に、パイソン:brew install python

次にpy2cairo:brew install py2cairo

これらは両方とも正しくインストールされているようで、入力すると次のようにwhich pythonなります。usr/local/bin/pythonこれは自作のバージョンだと思います。

多くの自作ガイドがアドバイスしているように、パスを編集しました。

export PATH=/usr/local/bin:/usr/local/share/python:$PATH

これが私が得たものですecho $PATH/usr/local/bin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

また、入力して正しいと思われるものpython --versionを取得することもできます。python 2.7.3/usr/local/Cellar/py2cairo/1.10.0/README

Dependencies
------------
    cairo   >= 1.10.0
    Python  >= 2.6 

しかし、それでもまだ py2cairo ライブラリを Python にインポートできません。試したときに得られるものは次のとおりです。

Sal:~ Lockyer$ python
Python 2.7.3 (default, May  6 2012, 13:47:31) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cairo
Fatal Python error: Interpreter not initialized (version mismatch?)
Abort trap: 6

ほとんどの人はpiporeasy_installをこの種のものに使用していると思いますが、py2cairo はそれらによってサポートされているとは思いません。実行すると次のようになりますpip-2.7 install py2cairo

Downloading/unpacking py2cairo
  Could not find any downloads that satisfy the requirement py2cairo
No distributions at all found for py2cairo
Storing complete log in /Users/Lockyer/Library/Logs/pip.log

ライブラリをインポートする場所をpythonに明らかにする最後のステップが1つ欠けているに違いないと思います...パスに何かを追加するのを忘れていますか?

これが私が実行したときに得られるものですls -l /usr/local/bin/python

lrwxr-xr-x  1 Lockyer  admin  33  6 May 13:48 /usr/local/bin/python -> ../Cellar/python/2.7.3/bin/python

実行すると次のようになりますotool -L /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so

/usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so:
    /private/tmp/homebrew-py2cairo-1.10.0-BtmY/py2cairo-1.10.0/build_directory/src/_cairo.so (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/Cellar/cairo/1.10.2/lib/libcairo.2.dylib (compatibility version 11003.0.0, current version 11003.2.0)
    /System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.1)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1094.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

/System/Library/Frameworks/Python.framework/Versionsデスクトップに移動してbrew install py2cairo再度実行すると、エラーが修正されたようです。パスの最初にあるようには見えないので、Lion の python に対してビルドしていた理由を知っておくとよいでしょう...

4

4 に答える 4

6

この同じエラーに出くわしました。グーグルで調べたところ、この問題はGitHubのプロジェクトの問題ページで既に検出されていることがわかりました。

これは、ライブラリのインポートを処理する方法に問題があるようですが、waf完全には理解できませんでした。修正は既に提出されており、承認待ちです。

修正を受け入れる前に誰かがまだこの問題に遭遇した場合は、この回答で提案されているコマンドに従って、py2cairo の修正された式をインストールすることができます。

brew rm -f py2cairo
brew install  https://raw.githubusercontent.com/2bits/homebrew/15b3e67/Library/Formula/py2cairo.rb

修正が承認されたら、簡単brew updateに問題を修正する必要があります。

于 2012-07-02T00:43:06.397 に答える
4

他のコメントによると、ライブラリ パスの問題を解決できましたが、「致命的な Python エラー: インタープリターが初期化されていません (バージョンの不一致?)」が残っています。これを解決する方法は次のとおりです。

  1. xcode 4.3 があることを確認してください
  2. xcodeコマンドラインツールがインストールされていることを確認してください
  3. brew tap homebrew/dupes && brew install homebrew/dupes/apple-gcc42
  4. sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2
  5. これをすべて確認しますbrew --config(GCC-4.2が見つかったことを報告する必要があります)
  6. brew uninstall cairo py2cairo
  7. brew install py2cairo --use-gcc

gccでビルドするまで、これと同じ問題がありました.gccは明らかにxcode 4.3には含まれていません。

また、自作のpythonインストールを使用していません(使用した場合)。私は標準のApple pythonインストールを使用しており/usr/local/lib/python2.7/site-packages、PYTHONPATHの前にあるだけです

于 2012-05-06T18:46:39.410 に答える
3

インストール時にpycairoのwafインストーラーファイルが間違ったpythonを見つけているようです。走れますか

otool -L /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so

C拡張機能がリンクされているpythonを特定するには? 私のような行が含まれています

/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.1)

(ただし、Homebrew python ではなく、システム python を使用します)。

于 2012-05-06T17:02:33.937 に答える