2

SnowLeopard に pyobjc をインストールする際に問題が発生しています。

Python 2.6 が付属していましたが、2.5 が必要なので、2.5 を正常にインストールしました。その後、xcodeをインストールしました。その後、「easy_install-2.5 pyobjc」でpyobjcをインストールしました

しかし、Python 2.5 を起動して cmd 行から Foundation をインポートしようとすると、「Foundation という名前のモジュールがありません」と表示されます

Pythonインタープリターを開始する前にやろうとしまし export PYTHONPATH="/Library/Python/2.5/site-packages/pyobjc_core-2.2-py2.5-macosx-10.6-i386.egg/objc" たが、まだ運がありません(この.eggディレクトリはpyobjcのインストールが行われた唯一のディレクトリであり、サイトパッケージにはさらにいくつかの卵ファイルがあります... objcサブディレクトリにはinit .pyファイルがあります)

もちろん、2.6 からはすべて正常に動作します。何が問題なのか、どうすればよいのかを知るにはどうすればよいですか?

Python 2.6 から sys.modules を印刷すると、インポートされる objc は基本的に同じインストール場所からのものであることがわかります "/Library/Python/2.6/site-packages/pyobjc_core-2.2-py2.6-macosx-10.6-universal.egg /objc/」なので、なぜ 2.5 で動作しないのでしょうか?

4

1 に答える 1

4

わかりました、問題が見つかりました。

私の SnowLeopard には、Python 2.6 (デフォルト) と 2.5 の両方がインストールされていました。

XCodeは両方にobjcをインストールしました。

したがって、基本的に、追加のpython 2.5とobjcの手動インストールでpythonpathなどを壊しましたが、どういうわけかライブラリに互換性がありませんでした(私のものと元のpythonは両方とも2.5.4ですが、リリースがわずかに異なり、さらに重要なのはおそらく異なるビルドオプションでビルドされたものです)

私がしたことは、元のpython2.5(私のシステムでは/usr/bin/python2.5にあります)ですべてを開始することを確認し、サイトパッケージのeasy_install.pthから間違ったエントリを削除し、PyObjcへのパスを追加することですeasy_install.pth.

すぐに見つけられなくて申し訳ありませんが、これが将来誰かに役立つことを願っています!

于 2010-04-29T13:38:53.517 に答える