2010-11-21 31 views
0

私はsimplejsonを使ってNew York Time APIからデータを取得しています。これは、 "python test.py"コマンドでターミナルからファイルを実行したときに動作しますが、コマンド+ Rを使用してTextMateを実行したときは機能しません。まったく同じファイルを実行しています。どうしてこれなの?なぜsimplejsonはTerminalで動作し、TextMateでは動作しませんか?

私はSnow Leopardの10.6.4、TextMateは1.5.10、とPython 2.6.4を実行しています。

編集:これを含めるのを忘れて申し訳ありません:で、私はそれが「いいえモジュールという名前のsimplejson」と言うん意味「動作しません」。私はこれもPyMongo( "pymongo"という名前のモジュールはありません)でも起こっていることに気付きました。

+1

のsimplejsonはJSONではなく、データを取得し処理します。 –

+0

このスクリプトをtextmateとterminalの両方で実行してみてください: 'import sys; print "\ n" .join(sys.path) 'を実行し、その出力を質問に追加します。それはどのパスが不足しているかを教えてくれるでしょう。 –

答えて

1

何をして動作しませんか?エラーメッセージや何もない情報など、より多くの情報を提供する必要があります。しかし、私はpythonのバージョンが異なっていると仮定し、textmateから起動するとsimplejsonはPYTHONPATHにありません。だけ知っているので

0

は、simplejsonjsonとしてPython 2.6ディストリビューションの標準ライブラリに組み込まれました。だから、輸入の問題に取り組んでいないと感じたら、参照番号をsimplejsonに変更してjsonに変更してみてください。提案されているよう

しかし、これはにPythonPathの問題であることが判明する予定です。これらの行をPythonインタプリタとTextMateで実行し、結果を比較します。 (あなたがわからない場合)のsimplejsonがインストールされている

import sys 
print sys.path 

は、Pythonインタプリタでこれを行う見つけるには:

import simplejson 
print simplejson.__file__ 

が必要であれば/あなたは、TextMateのために手動でPYTHONPATHを設定する必要があります[設定]> [詳細設定]> [シェル変数]の順に追加することでこれを実行できます。

関連する問題