2012-11-19 90 views
1

我在我的64位Ubuntu上安裝了Eclipse版本:4.2.1和PyDev版本2.7.1。 我正在使用Python 2.7,並且我在Eclipse中遇到了這個問題,它無法識別我的未導入方法。例如,如果我寫這樣的代碼:Eclipse - Pydev,不識別未導入的方法

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 

這是一個很明顯的錯誤,因爲我並沒有在一開始寫「導入OS」我碼。我的問題是Eclipse不再爲我突出顯示這些錯誤。要麼我必須自己找到它們,要麼當我運行我的代碼時會發現它們。 我的Eclipse以前工作正常,但我不知道我發生了什麼變化。

我還要提到,我在我的項目,該文件夾我有一些我自己的模塊中的「LIB」文件夾,我已經加入了「LIB」文件夾到我的項目的PYTHONPATH。我正在運行的代碼位於另一個名爲「test」的文件夾中,並且不在PYTHONPATH中。

+0

我想同樣的答案在這裏[未解決的導入問題與PyDev和Eclipse](https://stackoverflow.com/questions/4631377/unresolved-import-issues-with-pydev-and-eclipse) –

+0

可能重複的[未解決的導入問題與PyDev和Eclipse](https://stackoverflow.com/questions/4631377/unresolved-import-issues-with-pydev-and-eclipse) –

回答

2

的問題是,我的代碼是這樣的一個文件夾中:

/MyProject/src/test/test.py

但「SRC」文件夾是不是在PYTHONPATH。這就是爲什麼Eclipse沒有將它們識別爲源代碼並且沒有對其進行分析。

爲了解決這個問題,請訪問:

Eclipse -> Project -> Properties -> PyDev-PYTHONPATH -> Source Folders

和 「/ MyProject的/ src目錄」 添加到源文件夾。 (我的源文件夾中只有「/ MyProject/src/lib」)

1

除了@ 183.amir的回答外,如果你的某個應用程序是符號鏈接的(不是實際的目錄),你需要添加它與PYTHONPATH分開(具有上述步驟)。