2009-10-23 26 views
18

「Xcode 3.2でのPyObjC開発」の回答を受け入れるための指示に従おうとしています。ImportError:Foundationという名前のモジュールがありません

  • ファインダーを使用する:ここで


    私はPyObjCはSnow Leopardで働いてもらうためにやっていることだ:私は、実際の質問にコメントするのに十分な担当者を持っていないので、私はここでそれらを再投稿します私はGo > Connect to Server...に行き、http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/にゲストとして接続しました。

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

  • 赤いビーンサーバーのFile Templatesフォルダを新しいXcodeフォルダにコピーしました。

  • 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\ Application


に、このコマンドを実行しました./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 

IをSnow Leopardを実行していて、Xcode 3.2.1をインストールしておいて、このモジュールが既にインストールされ、動作しているはずです。 Pythonのコマンドラインで>>> import objcを実行して、PyObjCモジュールが動作しているかどうかをテストできることを読んだことがあります。私がこれを実行すると、私は得る:

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

私は誰も私を助けることができますこのエラー?私はSnow Leopardのインストールでこれをすべて自動的に行うことができるはずですが、できません。

答えて

5

さて、それはMJVの答えを改正、私は./project-tool.pyラインを実行する前に

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

を入力して、作業それを得ることができた、ということが判明しました。私はまだこれをやらなければならないということはばかげていると思います。誰かがなぜそれを見ることができれば、私は知り喜んでいます。これを行う

>>> import objc 

ラインの作業を得ました。

+1

もし私がスクリプトを "python"で実行すると同じエラーが出るのですが、/ usr/bin/pythonで実行すると、(別のパスを書き出さなくても)動作します。 –

2

2点の一つ:

  • モジュールは
  • やPythonの通訳を存在しないFundationがわからないのどちらか、このファイルを見つける

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

の詳細については、SO questionを参照してください。などが作成されます。

+0

ありがとうございます。 Pythonパスを編集する方法を知っておくと便利です。残念ながら、私は財団を組み込むためにどのような道を追加すべきか分かりません。 –

1

インポートステートメントをトレースするためにpython -vを実行すると、これは対話モードでも機能します。

+0

申し訳ありませんが、これを実行し、出力を得ました。私はちょうど私が探しているはずのものを理解していない。 –

4

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

編集: 私は "輸入にObjC" 仕事を作る方法を発見、ちょうど: 輸出PYTHONPATH = "/システム/ライブラリ/フレームワーク/ Python.framework /バージョン/ 2.6 /エクストラ/ libに/パイソン/"

それはPythonのパスにすべてのディレクトリを追加します

(のsys.path)

20

私は同じ問題を抱えていました。私はhomebrewを使って私自身のPythonをインストールしていたと思います。関心

$ pip install pyobjc 

、(http://pythonhosted.org/pyobjc/

The PyObjC project aims to provide a bridge between the Python and Objective-C programming languages.

2

から:私はPythonのバージョンを混合することはなく、上記のようにリンクを作成する心配していたので

は、私が使用して新しいpyobjcをインストールしPythonの場合2.7

export PYTHONPATH = "/システム/ライブラリ/フレームワーク/ Python.framework /バージョン/ 2.7/Extras/lib/python /"

0

実行してOSXでFoundationを使用してPythonインストールにアクセスできます/usr/bin/python file-to-run.py

関連する問題