2

Eclipse バージョン: 4.2.1 と PyDev バージョン 2.7.1 が 64 ビット Ubuntu にインストールされています。Python 2.7 を使用していますが、インポートしていないメソッドを認識しないという Eclipse の問題があります。たとえば、次のようなコードを記述したとします。

def main():
  myfiles = os.listdir('src')

if __name__ == '__main__':
  main()
  print'done!'

次のエラーが表示されます。

Traceback (most recent call last):
  File "tset.py", line 5, in <module>
    main()
  File "tset.py", line 2, in main
    myfiles = os.listdir('src')
NameError: global name 'os' is not defined

コードの最初に「import os」を書いていないため、これは明らかなエラーです。私の問題は、Eclipse がこれらのエラーを強調表示しなくなったことです。自分でそれらを見つけなければならないか、コードを実行するときにそれらについて見つけます。私のEclipseは以前は正常に動作していましたが、これが起こったために何を変更したのかわかりません。

また、プロジェクトに「lib」フォルダーがあり、そのフォルダーに独自のモジュールがいくつかあり、「lib」フォルダーをプロジェクトの PYTHONPATH に追加したことにも言及する必要があります。私が実行しているコードは、「test」という名前の別のフォルダーにあり、PYTHONPATH にはありません。

4

2 に答える 2

3

問題は、私のコードが次のようなフォルダーにあったことです。

/MyProject/src/test/test.py

しかし、「src」フォルダーは PYTHONPATH にありませんでした。そのため、Eclipse はそれらをソース コードとして認識せず、分析もしていませんでした。

これを修正するには、次の場所に移動します。

Eclipse -> プロジェクト -> プロパティ -> PyDev-PYTHONPATH -> ソース フォルダー

ソースフォルダーに「/MyProject/src」を追加します。(ソースフォルダーには「/MyProject/src/lib」しかありませんでした)

于 2013-03-29T15:21:33.213 に答える
1

@ 183.amir による回答に加えて、アプリの 1 つが (実際のディレクトリではなく) シンボリック リンクされている場合は、それを PYTHONPATH に個別に追加する必要があります (上記の手順を使用)。

于 2014-03-17T12:13:32.890 に答える