epylint脚本在Windows上无法工作

0 投票
1 回答
816 浏览
提问于 2025-04-15 14:30

我在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有没有邮件列表可以报告问题呢?

撰写回答