2011-11-21 204 views
4

在使用PyDev的Eclipse中,我在獲取此代碼時遇到了Unresolved import: pilImage錯誤。使用from-import-as導入時無法解析導入錯誤

從PyDev或shell內部執行代碼時,代碼運行良好,但IDE會將我當作錯誤點亮。

from PIL import Image as pilImage 
# do something with pilImage 

我該如何解決問題?

回答

0

你確定你的PyDev配置的解釋器知道PIL包和它的內容嗎? 如果您在安裝PIL包之前配置了PyDev Python解釋器,它不知道任何關於它的信息。

+0

我敢肯定,如果它不會,它將無法運行。我懷疑這個錯誤是導致https://sourceforge.net/tracker/index.php?func=detail&aid=3439666&group_id=85796&atid=577329 – sorin

+0

提出的解決方案工作嗎?因爲解釋器的運行方式與eclipse/pydev配置無關。 pydev只需要配置自身。 F.E.自我暗示功能。如果通過pydev-ui執行當前腳本,則會使用真正的解釋器。 –

+0

確切地說,在PyDev或外部運行不會導致錯誤。 – sorin

3

我認爲這可能是在PIL應如何使用有點誤會......

PIL有一個相當罕見的包裝,其中PIL庫添加到PYTHONPATH(不包含目錄它),所以,如果你有安裝方便安裝,它會做一些如:

/Lib 
/Lib/site-packages 
/Lib/site-packages/PIL-1.1.7-py2.6-win32.egg 
/Lib/site-packages/PIL-1.1.7-py2.6-win32.egg/Image.py 

所以,這實際上應該做進口是:進口圖片爲pilImage(即:不從PIL在導入中)。

參考備份,這是進口應該如何:http://effbot.org/imagingbook/introduction.htm

在這種情況下,該目錄添加到PYTHONPATH應該是:「/Lib/site-packages/PIL-1.1.7- py2.6-win32.egg」

請注意,如果您重命名的目錄/Lib/site-packages/PIL-1.1.7-py2.6-win32.egg您的導入可以工作/庫/ site-packages/PIL,並在PYTHONPATH中只剩下/Lib/site-packages/(在這種情況下,您仍然需要轉到PyDev解釋er配置,只需按下apply,以便它發現新的PIL包被添加到PYTHONPATH中 - 請注意,在這種情況下/ Lib/site-packages/PIL不應該添加到PYTHONPATH中

1

安裝PyDev後,您是否將PIL安裝爲雞蛋?如果是這樣,PyDev不會知道它在那裏。刪除並重新添加解釋器來解決這個問題。有關更多信息,請參見SO question

0

有時PyDev要求您重新啓動Eclipse以糾正錯誤的錯誤消息。這通常是由用戶在添加模塊之前寫入導入引起的。