Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
emacs中的Python代码检查器包装器没有正确地将结果提供给win32上的flymake_Python_Emacs_Flymake_Python Mode - Fatal编程技术网

emacs中的Python代码检查器包装器没有正确地将结果提供给win32上的flymake

emacs中的Python代码检查器包装器没有正确地将结果提供给win32上的flymake,python,emacs,flymake,python-mode,Python,Emacs,Flymake,Python Mode,因此,我正在使用emacs python wiki(找到)上建议的这个包装器,它围绕pep8、pyflakes和pylint在命令行上工作(在windows上根据“”进行设置时遇到了麻烦) 但是,在emacs中,flymake将在有错误的行下划线,但当我悬停鼠标时,应包含错误消息的框为空。我的初始化文件包含: (setq pycodechecker "etcwrapper.bat") (when (load "flymake" t) (load-library "flymake-curs

因此,我正在使用emacs python wiki(找到)上建议的这个包装器,它围绕pep8、pyflakes和pylint在命令行上工作(在windows上根据“”进行设置时遇到了麻烦)

但是,在emacs中,flymake将在有错误的行下划线,但当我悬停鼠标时,应包含错误消息的框为空。我的初始化文件包含:

 (setq pycodechecker "etcwrapper.bat")
(when (load "flymake" t)
   (load-library "flymake-cursor")
   (defun dss/flymake-pycodecheck-init ()
     (let* ((temp-file (flymake-init-create-temp-buffer-copy
                        'flymake-create-temp-inplace))
            (local-file (file-relative-name
                         temp-file
                         (file-name-directory buffer-file-name))))
       (list pycodechecker (list local-file))))
   (add-to-list 'flymake-allowed-file-name-masks
                '("\\.py\\'" dss/flymake-pycodecheck-init)))
bat是一个简单的批处理脚本,在python包装器脚本上运行python。为了方便起见,我将它放在系统路径的一个目录中。 我还可以让flymake只在一个字符下划线,而不是在整行下划线吗?
有什么建议吗?

我不是python专家,也从来没有在windows上使用过它,所以这个答案可能没有什么用处……但我知道在一些版本的
flymake cursor
中有一个漏洞,可以解决
pyflakes
要么不能正确地报告编译错误,要么它们的格式不适合
flymake
进行解析

您可以在我的
flymake cursor
的fork中看到尝试对其进行的修复:

我从Dino Chiesa版本中得到了修复,所以我不知道完整的背景故事,但听起来这就是你面临的问题

较新版本的
flymake cursor
如mine或Dino可能会帮助您在emacs消息区域中看到错误指示,但鼠标覆盖在
flymake
中处理,据我所知,该版本没有解决此问题的方法

如果您在手动运行时提供etcwraper.bat生成的输出,我可能能够提供进一步的帮助

仅在一个字符下划线也很棘手,据我所知,您需要从
flymake.el
中重新定义
flymake覆盖层
,并创建两个覆盖层,而不是一个。您可能会发现将
flymake errline
flymake warnline
的面部自定义为比u更不具侵扰性的面部底线


很抱歉,这两个答案都不是正确答案。:)

是的,我没有尝试过你的建议,但仍然是相同的行为。