(报错)EAF 在 emacs-plus@31 下无法正常工作

@manateelazycat

前文:

之前用的是 30.91,当时是可以用的,看 pdf,上网,还有 file-manager 和 pyqt-terminal 都没啥问题。但昨天升级了 31,是 emacs-plus@31 这个发行版,然后发现出问题了:

我升级 emacs-plus@31 的目的是能够使用中英混输的 patch。

总之,在前天,我还很愉快地用 file-manager 来找文件,看了一会儿 pdf。

然后,在坛友的提醒下,在 eaf 的 buffer 里找到对应的报错消息:

Traceback (most recent call last):
  File "/Users/chenyibin/.emacs.d/lisp/eaf/core/utils.py", line 56, in on_signal_received
    self._func(obj, *args, **kwargs)
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chenyibin/.emacs.d/lisp/eaf/eaf.py", line 156, in new_buffer
    self.create_buffer(buffer_id, url, module_path, arguments)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chenyibin/.emacs.d/lisp/eaf/eaf.py", line 171, in create_buffer
    spec.loader.exec_module(module)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 1022, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/Users/chenyibin/.emacs.d/lisp/eaf/app/file-manager/buffer.py", line 34, in <module>
    from pygments import highlight
ModuleNotFoundError: No module named 'pygments'

然而但是,如果我真正去装的时候,又能显示这个包已经安装。我重新编译 emacs,为什么会弄丢 eaf 的依赖?这点不太明白

你这 Emacs 调用的和你在外头用的不是同个 python 吧

这种情况我应该怎么分辨和处理?我不太熟悉 python 环境的管理,感谢赐教

最简单的方法,用 eshell 装 pygments 这个包

在 Mac 上不能使用第一种方法。 第二种方法使用了无效。