私はPythonとシェルスクリプトのまったく新しいユーザーであり、問題をグーグルで調べて机に頭をぶつけた後でも、これで行き詰まりに遭遇しました。どんな助けでも感謝!
SSHを使用するシェルでPython 2.7.3を実行しています。いくつかのプログラム/分析を実行するためのコードをダウンロードしました。最初のプログラムを実行すると、次のエラーが発生します。
Traceback (most recent call last):
File "./[script1].py", line 7, in <module>
import [script1]
File "[directory]/[script].py", line 22, in <module>
import gdata.spreadsheet.service
ImportError: No module named gdata.spreadsheet.service
[スクリプト1]は、コードパッケージの一部として提供されたのと同じフォルダー内のpythonスクリプトを指し、Googleデータpythonパッケージ、これを同じフォルダーにダウンロードし、gunzipし、tarを解凍してから、(。/configureなどを使用して)インストールしました。エラーの検索に基づいて、ここのPYTHONPATHに問題があると推測します。 [script1] .pyとGdataフォルダーは、実行しているスクリプトと同じディレクトリ内にありますが、見つかりません。「Echo $ PYTHONPATH」は、それが未定義の変数であり、空白もあることを示していますディレクトリ内のinit。pyファイル。そのディレクトリ内のどこにも「bash」または「bashrc」という単語を含むファイルはありません。同様に、起動しても「sys.path」ファイルが見つからないようです。 up Python and print(sys.path)結果の出力を取得します:
['',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-installer',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol',
'/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
私も試しました
export PYTHONPATH=[directory]
私のシェルでは、「export:commandnotfound」を吐き出します。
このすべてに新参者を許してください-これに関するどんな助け(私の疑いが正しいかどうか、そしてそれらを解決する方法)は大いにありがたいです!
試したexport
コマンドの出力から、使用しているシェルはbashではないように見えます。 この投稿 どのシェルを使用しているかを確認する方法について説明します。シェルを見つけたら、そのシェルで環境変数(PYTHONPATH)を設定する方法を見つけることができます。
これらを試して、スクリプトの実行中にPYTHONPATHを設定することもできます(最後のスクリプトは(T)CSHで機能するはずです)。
_PYTHONPATH=your_directory python script_name
_
そして
_env PYTHONPATH=your_directory python script_name
_
上記のようなスクリプトを_python script_name
_で実行する代わりに、PYTHONPATHが実際に設定されてPython内で機能することを確認するには、python -c 'import os; print os.getenv("PYTHONPATH")'
を使用します。設定したPYTHONPATHが表示されます。
同様に、Pythonインタプリタに_sys.path
_を出力すると、エントリの1つとしてPYTHONPATHにパスが出力されます。
PYTHONPATHを正常に設定しても問題が解決しない場合は、gdataにあるパスからPythonインタープリターを実行してみてください。
_cd path_which_has_subdirectory_gdata
python
_
Pythonインタープリターで、gdataモジュールをインポートしてみてください:
_import gdata
_
それが機能する場合は、ImportError
の原因となるモジュールもインポートしてみてください。
_import gdata.spreadsheet.service
_
これらのインポートがPythonインタープリターから機能する場合は、[script1]に問題がある可能性があります。そうでない場合は、gdataモジュールが実際にあると思う場所にあることを確認してください。モジュールの正しいディレクトリです。 ___init__.py
_という名前のファイルが含まれている必要があり、PYTHONPATHはディレクトリを指すように設定する必要がありますabove階層内のモジュール。