【问题标题】:Unresolved import error with pydev while using from-import-as使用 from-import-as 时 pydev 未解决的导入错误
【发布时间】:2013-08-12 00:21:36
【问题描述】:

在带有 PyDev 的 Eclipse 中,我在使用此代码时收到 Unresolved import: pilImage 错误。

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

from PIL import Image as pilImage
# do something with pilImage

我该如何解决这个问题?

【问题讨论】:

    标签: eclipse pydev


    【解决方案1】:

    我觉得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
    

    因此,实际应该进行的导入是:import Image as pilImage(即:在导入中没有 from 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 并将 /Lib/site-packages/ 留在 PYTHONPATH 中(在这种情况下,您仍然需要转到 PyDev 解释器配置并只需按应用以便它找到出一个新的 PIL 包被添加到 PYTHONPATH -- 注意在这种情况下 /Lib/site-packages/PIL 不应该被添加到 PYTHONPATH)

    【讨论】:

      【解决方案2】:

      你在安装 PyDev 后是否将 PIL 安装为鸡蛋?如果是这样,PyDev 将不知道它的存在。删除并重新添加解释器以解决此问题。请参阅此SO question 了解更多信息。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我敢肯定,如果不是这样,它将无法运行。我怀疑这个错误是原因sourceforge.net/tracker/…
        • 建议的解决方案有效吗?因为解释器的运行方式与 eclipse/pydev 的配置方式无关。 pydev 只需要为自己配置。 f.e.自动建议功能。如果通过pydev-ui执行当前脚本,则使用真正的解释器。
        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-11-12
          • 2011-11-09
          • 1970-01-01
          • 2012-12-25
          • 1970-01-01
          • 1970-01-01
          • 2012-05-11
          • 1970-01-01
          相关资源
          最近更新 更多