我正在使用Eclipse和Pydev插件在Windows上编写跨平台python脚本。如果当前平台不是NT,则脚本使用os.symlink()
和os.readlink()
方法。
由于Windows平台上没有os.symlink()
和os.readlink()
方法,Pydev会将它们标记为未定义的变量 - 如下所示:
有没有办法忽略特定的未定义变量名错误而不修改我的源文件?
编辑:我找到了一种在stackoverflow上忽略来自this answer的未定义变量错误的方法。
如果有办法使用项目文件或Pydev设置来解决这个问题,我会保留问题。
答案 0 :(得分:3)
我使用pydev + pylint。
使用pylint,您可以在首选项> Pydev> Pylint>“要传递给pylint的聚合”部分中添加要忽略的邮件。
--disable-msg=W0232,F0401
您可以在线注释消息以及注释:
os.symlink(target, symlink) # IGNORE:<MessageID>
鼠标悬停在“x”处,其中行号将显示消息ID。
答案 1 :(得分:1)
我怀疑pydev可能有更好的,特定的解决方案,但是如果只是在程序的开头添加一些代码,例如:
if not hasattr(os, 'symlink'): os.symlink = None
是的,这是一个黑客,但是,除非pydev 确实有专门的解决方案(不幸的是我不知道任何,但后来我不是pydev专家;-),可能比没什么...
答案 2 :(得分:0)
我注意到PyDev不识别ZeroMQ常量,所以我在同样的问题上挣扎。
我发现PyDev在Preferences > PyDev > Code Editor > Code Analysis
:Undefined
- 标签中有一个设置选项。只需在那里写symlink
和readlink
(逗号分隔)即可删除错误。
仍然不是最优的,但现在还不错。