2012-11-02 116 views
0

我試圖用eclipse/pydev爲irc bot supybot編寫一些插件。 Pydev給我提供了關於supybot-modules/packages上的未解析導入的錯誤(例如,將supybot.utils導入爲utils),但在e上工作正常。 G。 「from supybot.commands import *」。所以我想我正確地設置了dydev,因爲它找到了想要的模塊。這個問題必須在pydev/eclipse中,因爲bot的工作正確,在eric5中也沒有錯誤。「導入爲」導致未解決的導入錯誤,「從..導入」不

刪除解釋器並設置它並沒有幫助。任何其他想法如何解決這個問題?系統:Arch Linux,Eclipse Juno,PyDev 2.7.1,想要(並設置)python解釋器是2.7,supybot安裝在Python 2.7的站點包中。

編輯:只是注意到:PyDev不會將「from ... import *」標記爲錯誤,但如果我使用從那裏導入的函數,則會在該函數中出現錯誤。

代碼示例:第一行

[...] 
import supybot.utils as utils 
from supybot.commands import * 
[...] 
wunsch = wrap(wunsch, ['text', 'now']) 
[...] 

錯誤:未解決進口:utils的
下聯得到沒有錯誤,也沒有警告的3號線
錯誤:未定義的變量:包
但「包裝」是在supybot.commands中聲明的函數

+0

請包括一些代碼示例,並複製/粘貼您收到的實際錯誤。 – titanofold

回答

0

運行import supybot; print supybot.__path__以獲取supybot包的路徑。 PyDev可能導入了錯誤的文件(例如,如果您在工作區中使用名爲supybot的文件夾)。

+0

感謝您的回答。我在該eclipse工作區內創建了一個新文件,只添加了 'import supybot; print supybot; 將supybot.utils導入爲utils; print utils .__ path__' 這兩個導入語句都被標記爲未解析(左側和右側側邊欄中的紅色標記)。但是如果我執行它,一切都按預期工作,這些修改是正確的: '['/usr/lib/python2.7/site-packages/supybot'] ['/usr/lib/python2.7/site- packages/supybot/utils'] ' –

+0

根據你最初的說法,第一個導入已經解決了,所以它應該有一個'__path__'。 –

+0

它會打印正確的路徑,但會將導入標記爲未在編輯器中解析。 –