【问题标题】:PyDev eclipse shows compile error red marks , but runs fine?PyDev eclipse 显示编译错误红色标记,但运行正常?
【发布时间】:2012-11-30 12:11:48
【问题描述】:

以下代码由PyDev eclipse插件自动生成,选择“new --> PyDev project”,新建“PyDev Module”,然后选择“Unittest”

但在eclipse编辑器上,“import unittest”上显示一个红色标记,表示模块无法导入。但这件事运行良好。我正在使用 python 2.7 和 eclipse 3.6

'''
Created on Dec 12, 2012

@author: yang
'''
import unittest


class Test(unittest.TestCase):


    def testName(self):
        pass


if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    unittest.main()

【问题讨论】:

  • 您确定 Eclipse 已正确配置为使用您的 Python 2.7 解释器吗?如果您尝试在 Eclipse 中运行解释器,您得到的结果是否与从终端窗口中执行的相同?特别是,您是否执行了pydev.org/manual_101_interpreter.html 中的步骤(如果您使用的是 Mac,请忽略需要第三方 Python 的部分;这仅适用于 OS X 10.5)?
  • 通过右键单击项目上的“属性”,然后显示 Python 解释器,我看到它只有 2.7(我的操作系统上只有 2.7)
  • 加上我使用的解释器并不重要:因为差异是编辑器在 pydev/eclipse 中运行 python 代码时显示编译错误工作正常----我想他们使用相同的解释器,无论该解释器是什么版本。所以如果一个工作,另一个也应该工作
  • 您没有告诉我们在 Eclipse 的解释器中运行脚本是有效的。这就是为什么我和其他人都要求您详细说明:排除 Eclipse 配置错误的可能性。

标签: python eclipse pydev


【解决方案1】:

解决方法如下:-

我通过以下方式删除了这些错误:

Window -> Preferences -> PyDev -> Editor -> Code Analysis -> Undefined -> Undefined Variable From Import -> Ignore

对于导入未找到错误:-

也有可能,

Window -> Preferences -> PyDev -> Editor -> Code Analysis -> Imports -> Import not found -> Ignore

我们强制删除这些错误,因为 python 解释器对此没有解决方案。

如果您需要这方面的更多信息,请告诉我。

【讨论】:

  • 这不是解决方案。真正的问题似乎是解释器没有正确配置(因此 PyDev 没有找到 unittest 包)。
【解决方案2】:

您的本地系统中必须有一个 unittest.py 文件,该文件与 unittest 模块混淆了。重命名您的文件并删除 .pyc 文件。

【讨论】:

    【解决方案3】:

    我能想到这失败的两个原因:

    1. 您配置的解释器没有 .py 文件,只有 .pyc 文件(要使 PyDev 正常工作,您需要有一个带有实际 .py 文件的解释器)。

    2. 解释器配置不正确(即:您创建了一些引用父环境的虚拟环境,但父环境的路径未正确添加到解释器配置中)——即:/Lib 具有unittest 包(带有unittest/__init__.py)未添加到 PYTHONPATH 的首选项 > pydev > 解释器 > python 解释器 > 选择解释器 > 库)。

    【讨论】:

      猜你喜欢
      • 2018-07-28
      • 2016-06-01
      • 2011-12-30
      • 1970-01-01
      • 2017-06-15
      • 2016-06-02
      • 1970-01-01
      • 2013-12-24
      • 2014-02-01
      相关资源
      最近更新 更多