Emacs 23 在输入字符串块 """ 时挂起 python 模式

3 投票
5 回答
1148 浏览
提问于 2025-04-15 14:13

我在使用Emacs的时候遇到问题(我用的是Ubuntu 9和Emacs 23,还有Pyflakes)。每当我输入"""这样的引号来写字符串块时,Emacs就会卡住。

有没有人遇到过同样的问题?我觉得这可能不是Emacs本身的问题,而是我用来检查错误的某个Python模式或者Pyflakes出了问题。

有没有人找到解决办法?这真的让人很沮丧。

5 个回答

1

你是在使用外部的 python-mode(来自 python-mode 包),还是内部的 python 模式呢?我在内部的 Emacs python 模式下使用 pyflakes,没有遇到任何问题,这是我的设置:

(when (load "flymake" t)
(defun flymake-pyflakes-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 "pyflakes" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
             '("\\.py\\'" flymake-pyflakes-init)))
2

对于那些在Emacs 28中遇到这个问题,并像我一样花了几个小时感到沮丧的人,这个问题是一个已知的bug,在Emacs 29中已经修复了。

可以参考这个指南:https://github.com/emacs-mirror/emacs/blob/master/INSTALL。你可以在这里下载Emacs 29:https://alpha.gnu.org/gnu/emacs/pretest/

把任何错误信息粘贴到ChatGPT里,然后按照指示操作哦 :)

3

最新的 pyflakes 在开发模式下解决了我的问题。谢谢大家!

用这个命令来更新 pyflakes:sudo easy_install -U pyflakes

撰写回答