Eclipse 将“从导入”用作时pydev出现未解决的导入错误

Eclipse 将“从导入”用作时pydev出现未解决的导入错误,eclipse,pydev,Eclipse,Pydev,在使用PyDev的Eclipse中,我在使用此代码时收到一个未解析的import:pilImage错误 当从PyDev或shell内部执行代码时,代码运行良好,但IDE强烈指出这是一个错误 from PIL import Image as pilImage # do something with pilImage 如何解决此问题?您确定PyDev配置的解释器知道PIL包及其内容吗? 如果您在安装PIL软件包之前配置了PyDev Python解释器,它对此一无所知。我认为这可能是对如何使用PIL

在使用PyDev的Eclipse中,我在使用此代码时收到一个
未解析的import:pilImage
错误

当从PyDev或shell内部执行代码时,代码运行良好,但IDE强烈指出这是一个错误

from PIL import Image as pilImage
# do something with pilImage

如何解决此问题?

您确定PyDev配置的解释器知道PIL包及其内容吗?
如果您在安装PIL软件包之前配置了PyDev Python解释器,它对此一无所知。

我认为这可能是对如何使用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的编号)

支持这是导入方式的参考:

在本例中,添加到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,它就会发现新的PIL包已添加到PYTHONPATH--注意,在这种情况下,不应将/Lib/site packages/PIL添加到PYTHONPATH

在安装PyDev后,您是否将PIL作为一个egg安装?如果是这样,PyDev将不知道它在那里。请删除并重新添加解释器以修复此问题。有关详细信息,请参阅此部分。

有时PyDev要求您重新启动Eclipse以更正错误消息。这通常是由于用户在添加模块之前写入导入而导致的。

我确信,如果不是的话,它将无法运行。我怀疑这个错误是导致建议的解决方案工作的原因吗?因为解释器如何运行与它如何为eclipse/pydev配置无关。pydev只需要为自身进行配置。例如,自动建议功能。如果通过pydev ui执行当前脚本,则实际的使用的是一个计数器。