2012-12-12 49 views
1

以下代碼是由PyDev eclipse插件自動生成的,通過選擇「新建 - > PyDev項目」,新建「PyDev模塊」,然後選擇「單元測試」PyDev eclipse顯示編譯錯誤紅色標記,但運行良好?

但在eclipse編輯器中,它顯示一個紅色標記在「import unittest」上,說模塊不能導入。但這件事情運行良好。我使用的Python 2.7和eclipse 3.6

''' 
Created on Dec 12, 2012 

@author: yang 
''' 
import unittest 


class Test(unittest.TestCase): 


    def testName(self): 
     pass 


if __name__ == "__main__": 
    #import sys;sys.argv = ['', 'Test.testName'] 
    unittest.main() 
+0

您確定Eclipse已正確配置爲使用Python 2.7解釋器嗎?如果您嘗試在Eclipse內部運行解釋器,那麼您是否像從終端窗口那樣獲得了同樣的結果?特別是,您是否在http://pydev.org/manual_101_interpreter.html執行了這些步驟(如果您使用的是Mac系統,請忽略關於需要第三方Python的部分;這僅在OS X 10.5之前纔是正確的)? – abarnert

+0

通過右鍵單擊項目上的「properties」,然後顯示Python解釋器,我發現它只有2.7(我的os上只有2.7) –

+0

加上我使用的解釋器並不重要,因爲編輯器顯示的差異在pydev/eclipse中運行python代碼時編譯錯誤很好----我想他們使用的是同一個解釋器,不管解釋器是什麼版本。所以如果一個工作,另一個也應該工作 –

回答

1

解決辦法如下: -

我轉到刪除這些錯誤:

Window -> Preferences -> PyDev -> Editor -> Code Analysis -> Undefined -> Undefined Variable From Import -> Ignore

而對於進口未發現的錯誤: -

它也可能是,

Window -> Preferences -> PyDev -> Editor -> Code Analysis -> Imports -> Import not found -> Ignore

我們強制刪除這些錯誤,因爲python解釋器沒有解決這個問題。

讓我知道你是否需要這方面的進一步信息。

+0

這不是一個解決方案。真正的問題似乎是解釋器沒有正確配置(因此PyDev沒有找到單元測試包)。 –

1

您必須在本地系統中有一個unittest.py文件,它與unittest模塊混淆。重命名您的文件並刪除.pyc文件。

0

我能想到的2個方面的原因失敗:

  1. 你已經配置不具有.py文件,只有pyc文件(對於PyDev的正常工作的解釋,你需要有一個解釋器與實際的.py文件)。

  2. 解釋器配置不正確(即:創建一些的virtualenv它引用父ENV但是從父ENV的路徑沒有適當的解釋器的配置添加) - 即:其具有unittest/Libunittest/__init__.py)不會添加到PYTHONPATH(首選項> pydev>解釋器> python解釋器>選擇解釋器>庫)。

相關問題