24

「Xcode 3.2を使用したPyObjC開発」に対する受け入れられた回答の指示に従おうとしています。実際の質問についてコメントするのに十分な担当者がいないため、ここに再投稿します。


Snow Leopard で PyObjC を動作させるために行ったことは次のとおりです。

  • Finder を使用して、http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/にアクセスし、ゲストとしてGo > Connect to Server...接続しました。

  • Xcode次に、ローカル システムの というフォルダを作成しました~Library/Application Support/Developer/Shared/Xcode/。(このフォルダーは既にあるかもしれませんが、私はまだ何もカスタマイズしていません)。

  • File Templatesフォルダーを red-bean サーバーから新しい Xcode フォルダーにコピーしました。

  • Project Templatesフォルダをデスクトップなどの他の場所にコピーしました。

  • ターミナルを使用して、デスクトップの一時的な Project Templates フォルダーに移動し、次のコマンドを実行してテンプレートを「ビルド」しました。

$ cd ~/Desktop/Project\ Templates/

$ ./project-tool.py -k -v --template ~/Desktop/Project\ Templates/Cocoa-Python\ Application/CocoaApp.xcodeproj/TemplateInfo.plist Cocoa-Python\ Application ~/Library/Application\ Support/Developer /Shared/Xcode/Project\ Templates/Cocoa-Python\ アプリケーション


で始まる行を実行しようとすると./project-tool.py、ターミナルに次のエラーが表示されます。

Traceback (most recent call last):  
  File "./project-tool.py", line 22, in <module>  
     from Foundation import NSDictionary  
 ImportError: No module named Foundation

私は Snow Leopard を実行しており、Xcode 3.2.1 をインストールしました。このモジュールは既にインストールされ、動作しているはずです。>>> import objcPython コマンドラインで実行することにより、PyObjC モジュールが機能しているかどうかをテストできることを読みました。これを実行すると、次のようになります。

>>> import objc
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
ImportError: No module named objc  

このエラーを解消するのを手伝ってくれる人はいますか? Snow Leopard のインストールでは、これらすべてを自動的に実行できるように思えますが、できません。

4

8 に答える 8

29

私も同じ問題を抱えていました。私の原因は、homebrewを使用して独自の Python をインストールし、いじくり回したことによるものだと思います。

上記のようにリンクを作成するのではなく、Python のバージョンが混在することを懸念していたため、次を使用して新しい pyobjc をインストールしました。

$ pip install pyobjc

興味のある方は、( http://pythonhosted.org/pyobjc/ )から

PyObjC プロジェクトは、Python と Objective-C プログラミング言語の間の架け橋を提供することを目的としています。

于 2013-08-04T13:35:44.623 に答える
6

さて、mjvの答えを修正して、入力することで機能させることができたことがわかりました

export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/"

行を実行する前に./project-tool.py。これをやらなければならなかったのは今でもばかげていると思います。もし誰かがその理由を理解できるなら、私は喜んで知ります.

これを行うと、

>>> import objc

ライン作業。

于 2009-10-23T23:03:55.347 に答える
5

PyObjC があるからです: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC

編集:「objc のインポート」を機能させる方法を見つけました。

すべてのディレクトリを python パス (sys.path) に追加します。

于 2010-07-24T16:33:33.313 に答える
3

次の 2 つのいずれかです。

  • Fundation モジュールが存在しない
  • または、Python インタープリターはこのファイルをいつ見つけるかを知りません

Python は PythonPath でモジュールを探します

Python パスの作成方法などの詳細については、このSO の質問を参照してください。

于 2009-10-23T16:50:19.813 に答える
2

python -vインポートステートメントをトレースするために実行します。これはインタラクティブモードでも機能します。

于 2009-10-23T17:00:28.860 に答える
1
  1. Python を削除するか、site-packages/Foundation | を削除します。サイトパッケージ/ファンデーション

  2. pip3 インストール pyobjc

Foundation という名前はhttps://pypi.org/project/foundation/と競合してい ます

于 2020-06-10T14:42:19.227 に答える