如何在Pydev Eclipse中忽略特定的未定义变量
我正在使用Eclipse和Pydev插件,在Windows上编写一个跨平台的Python脚本。这个脚本会用到os.symlink()
和os.readlink()
这两个方法,前提是当前的平台不是NT。
因为os.symlink()
和os.readlink()
这两个方法在Windows平台上不可用,所以Pydev会把它们标记为未定义的变量,像这样:
问题:
有没有办法忽略特定的未定义变量名错误,而不需要修改我的源文件?
编辑:我找到了一种方法,可以忽略未定义变量的错误,来自这个回答。
我会把这个问题保持开放,以防有办法通过项目文件或Pydev设置来解决这个问题。
3 个回答
0
我注意到PyDev不识别ZeroMQ的常量,所以我也遇到了同样的问题。
我发现PyDev在设置中有一个选项,路径是首选项 > PyDev > 代码编辑器 > 代码分析
,里面有一个未定义
的标签。在那里输入symlink
和readlink
(用逗号隔开),这样就可以消除错误提示了。
虽然这不是最理想的解决办法,但目前来说已经够用了。
3
我使用的是pydev和pylint。
在pylint中,你可以在“偏好设置 > Pydev > Pylint > '传递给pylint的参数'”这个部分添加你想要忽略的消息。
--disable-msg=W0232,F0401
你也可以通过注释在代码中直接忽略某些消息:
os.symlink(target, symlink) # IGNORE:<MessageID>
把鼠标放在行号旁边的“x”上,可以看到消息的编号。
1
我觉得pydev可能有更好的解决办法,但如果我们在程序开始的时候加一些代码,比如:
if not hasattr(os, 'symlink'): os.symlink = None
没错,这算是一种变通的方法,不过,除非pydev真的有专门的解决方案(可惜我不知道有什么,但我也不是pydev的专家;-),这样做可能总比什么都不做好...