2013-10-05 43 views
9

我正在使用PyDev。Pydev顯示未解析的導入,但腳本運行?

我想將我的項目類組織到包中。

例如在一個文件夾,我在/libraries/fund_price_library.py

一個模塊在我的項目的另一個文件,我嘗試使用導入:

from libraries.fund_price_library import FundPriceLibrary as fpl 

的PyDev強調「FundPriceLibrary爲FPL」爲紅色,其標記與此錯誤:

unresolved import fpl 

但是,我的腳本工作得很好,所以我相信我正在做正確的導入。

我有很多類似的錯誤遍佈我的項目,它看起來很混亂。但是,我的Python代碼工作,所以我假設我正確導入。

如何抑制這些錯誤?

回答

8

This question可能會解決您的問題。

In the properties for your pydev project, there's a pane called "PyDev - PYTHONPATH", with a sub-pane called "External Libraries". You can add source folders (any folder that has an init.py) to the path using that pane. Your project code will then be able to import modules from those source folders.

這可能只是PyDev不知道在哪裏找到文件。

+0

奇怪的是,它的工作,雖然我的文件在我當前的項目,而不是在外部庫。 – Ginger

+0

我猜想一些關於PyDev設置路徑的問題是棘手的 - 即使Python可以,PyDev也無法找到該庫。 (也可以通過點擊複選標記來接受我的答案) –

+0

python 3具有隱式命名空間包和init文件不是必需的。我不知道它是否相關,但我的項目不包含init文件,不幸的是這並沒有解決我的問題。雖然看到我的回答。 – Jerther

0

我有同樣的問題。解決方法是(我的Eclipse4.6瓦特/ Pydev的5.6):

Project > Properties > PyDev - PYTHONPATH > tab Source Folders 

這樣做:Add source folder(按鈕),添加(電流)源代碼目錄,在我的案例中是src子目錄因此新項目在窗口apears : /${PROJECT_DIR_NAME}/src

所以現在我有這個有:

/${PROJECT_DIR_NAME} 
/${PROJECT_DIR_NAME}/src 

和我現在的PyDev是快樂:)

1

Python 3有implicit namespace packages,因此子包中的__init__.py文件不是強制性的。不過,PyDev似乎仍然需要它們。

我的解決方案是在子包中添加空的__init__.py文件。

相關問題