epylint脚本在Windows上无法工作
我在Windows上安装了这个链接的pylint软件,现在我想用epylint脚本来配置Emacs的flymake模式。
这是我在Windows命令提示符下运行epylint时得到的输出。
C:\>epylint test.py
'test.py':1: [F] No module named 'test.py'
有没有什么建议可以解决这个问题?
1 个回答
0
在阅读epylint.lint
函数的文档时:
当在emacs中运行时,我们会处在一个文件的目录下,并且会传入这个文件的名字。如果这个文件属于一个包,并且试图从它自己的包或者其他包中导入模块,而这些包的目录在它下面,pylint会把这个情况当作导入失败。
为了绕过这个问题,我们需要沿着目录树向下查找这个模块所在包的根目录。然后,我们从这个目录运行pylint。
最后,我们还得修正pylint生成的输出中的文件名,这样Emacs就不会感到困惑(因为Emacs只期待原始的文件名,而pylint可能会因为我们沿着树向下查找而加上额外的目录)。
听起来在Emacs中运行时需要做一些额外的处理。看起来在命令行中不能以同样的方式运行。
在Emacs中运行不成功吗?那可能是pylint的一个bug。pylint有没有邮件列表可以报告问题呢?