-2

Linux Backtrack5 の Eclipse IDE で Python プログラムを作成しています。

Scapy、Python 2.6 は Backtrack で利用できます。すべてのモジュールで見たオートコンプリート機能を使用していますが、プログラムを実行すると、次のエラーが表示されます。

from scapy.contrib.ospf import OSPF_Hdr
ImportError : No module named contrib.ospf

Python でプログラミングを始めたばかりで、この問題に遭遇したソースの多く。

私にとっての問題は非常に興味深いものです。コーディングはすべて問題ありませんが、実行されていません!

この問題の解決に加えて、この問題が発生する理由を知りたいですか??一般的な修正方法は?

私の質問は重複しているかもしれませんが、完全な解決策であり、それが必要です。その場合、質問をする他の人が重複することはありません。

4

2 に答える 2

2

検索パスが間違っています。

2 つの一般的な原因は次のとおりです。

  • 開発中と実行中の Python のバージョンが異なります。両方とも python2.6 を使用してもよろしいですか? すべてのバージョンの Python ですべてのパッケージが利用できるわけではないためです。

- IDE の検索パスが、シェルの検索パスと異なります。Python の Eclipse の経験はありませんが、他の IDE で発生しました。

したがって、bash では次のように記述できます。
export PYTHONPATH="$PYTHONPATH:/where/module/lives/"
パスを含めるには

これを bashprofile に含める方法: http://blog.streamitive.com/2011/12/01/export-pythonpathpythonpath/
Python 自体を介してパスを含めることができます: http://www.johnny-lin.com/cdat_tips /tips_pylang/path.html

bash を介してインクルードする場合と python 自体を介してインクルードする場合:
モジュールが常に同じ場所にあることが 100% わかっている場合は、制御されたプログラムの場合は python を介してインクルードします。

それ以外の場合は、パスを明示的に設定する必要があります。おそらく、スタートアップ シェル スクリプト、crontab コマンド、または Python プログラムを呼び出している場所で使用されます。

于 2013-02-07T13:12:37.103 に答える
1

IDE が使用している PYTHONPATH は、プログラムを実行している PYTHONPATH と同じではありません

于 2013-02-07T12:59:32.377 に答える