webdevqa.jp.net

ImportError:Foundationという名前のモジュールがありません

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


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

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

  • 次に、ローカルシステムの~Library/Application Support/Developer/Shared/Xcode/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をインストールしましたが、このモジュールはすでにインストールされて機能しているはずです。 Pythonコマンドラインで>>> import objcを実行すると、PyObjCモジュールが機能しているかどうかをテストできることを読みました。これを実行すると、次のようになります。

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

誰かが私がこのエラーを払拭するのを手伝ってもらえますか? Snow Leopardのインストールでこれらすべてを自動的に実行できるはずですが、できません。

22
Chris Redford

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

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

./project-tool.py行を実行する前。私はまだこれをしなければならなかったのはばかげていると思います、そして誰かが理由を見ることができれば、私は知ってうれしいです。

これを行うと、

>>> import objc

ライン作業。

5
Chris Redford

私も同じ問題を抱えていました。 homebrew を使用して自分のPythonをいじくり回すために、私が考えたものです。

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

$ pip install pyobjc

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

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

26
Walton

これは、PyObjCが存在するためです:/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC

編集:「importobjc」を機能させる方法を見つけました。エクスポートPYTHONPATH = "/ System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python /"

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

4
ThmX

for python 2.7

export PYTHONPATH = "/ System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python /"

3
David Dehghan

2つのうちの1つ:

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

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

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

2
mjv

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

1
Denis Otkidach

/usr/bin/python file-to-run.pyを実行することで、OSX上のFoundationでPythonインストールにアクセスできます。

1
duhaime