使用from-import-as时,使用pydev时出现未解决的导入错误

时间:2011-11-21 09:41:20

标签: eclipse pydev

在使用PyDev的Eclipse中,我遇到此代码时出现Unresolved import: pilImage错误。

从PyDev或shell内部执行代码时代码运行良好,但IDE高亮显示这是一个错误。

from PIL import Image as pilImage
# do something with pilImage

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

我认为对如何使用PIL可能有点误解......

PIL有一个相当罕见的包装,其中PIL库被添加到PYTHONPATH(而不是包含它的目录),因此,如果您使用easy-install进行安装,它将执行以下操作:

/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 重命名为 / Lib / site-,则导入可能会有效packages / PIL ,并在PYTHONPATH中保留了 / lib / site-packages / (在这种情况下,您仍然需要转到PyDev解释器配置并按下apply以便找到它在PYTHONPATH中添加了一个新的PIL包 - 请注意,在这种情况下/ Lib / site-packages / PIL不应该添加到PYTHONPATH

答案 1 :(得分:1)

安装PyDev后,你是否将PIL安装为鸡蛋?如果是这样,PyDev就不会知道它在那里。删除并重新添加解释器以解决此问题。有关详情,请参阅此SO question

答案 2 :(得分:0)

你确定你的PyDev配置的解释器知道PIL包及其内容吗? 如果在安装PIL包之前配置了PyDev Python解释器,它就不知道任何相关内容。

答案 3 :(得分:0)

有时PyDev要求您重新启动Eclipse以纠正错误的错误消息。这通常是在用户在添加模块之前编写导入时引起的。