SublimeText4软件更新后直接导致DoxyDoxygen插件无法使用

Author: heavil - Posted:1天前 - View:42

今天打开SublimeText4软件,弹出更新窗口,个人认为反正都是版本4,直接点Download更新,安装后重新打开ST4,插件DoxyDoxygen直接报ImportError错误,打开控制台,都是引入文件错误。

reloading plugin DoxyDoxygen.Doxy
from .doxy_libs.CrashReportHelpers import generate_report,send_report
Traceback (most recent call last):
  File "d:\program\Sublime Text 4\Data\Installed Packages\DoxyDoxygen.sublime-package\Doxy.py", line 135, in <module>
    import_doxy_objects("CrashReportHelpers", [
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        "generate_report",
        ^^^^^^^^^^^^^^^^^^
        "send_report",
        ^^^^^^^^^^^^^^
    ])
    ^^
  File "d:\program\Sublime Text 4\Data\Installed Packages\DoxyDoxygen.sublime-package\Doxy.py", line 129, in import_doxy_objects
    raise ex
  File "d:\program\Sublime Text 4\Data\Installed Packages\DoxyDoxygen.sublime-package\Doxy.py", line 126, in import_doxy_objects
    exec(source, globals())
    ~~~~^^^^^^^^^^^^^^^^^^^
  File "<string>", line 1, in <module>
ImportError: bad magic number in 'DoxyDoxygen.doxy_libs': b'\x9e\x0c\r\n'
error: DoxyDoxygen fails to import some files... Please restart SublimeText

不管重启多少次ST4软件都不行,只得复制如上错误信息到deepseek上问了下,得出如下结论:

原因是Python字节码缓存(.pyc)版本不匹配。DoxyDoxygen插件的doxy_libs目录下存在旧的编译缓存,SublimeText4内置的Python版本(通常是 3.8 或 3.3)无法读取

打开ST4的Lib目录看了下,发现更新后的py版本变成3.14了,难怪会报缓存版本不匹配,AI给出的解决办法是手动删除DoxyDoxygen插件包内的缓存文件,让ST4重新生成新版本的.pyc文件,如此ST4的DoxyDoxygen插件就可以使用了,步骤如下。

1、关闭 Sublime Text,确保右下角托盘进程也完全退出
2、进入ST4的插件包目录,我的为d:\program\Sublime Text 4\Data\Installed Packages\
3、DoxyDoxygen.sublime-package文件本质为压缩包,直接用7-Zip打开
4、找到里面的doxy_libs文件夹,删除里面所有的 .pyc 文件,然后保存
5、重启 SublimeText,插件会重新编译并生成正确的缓存文件

我尝试此方法没用,我下载的是便携版,只得再去下载未更新之前的旧版本,然后再把所有插件拷贝到新下载的ST4插件目录中,重启软件才恢复正常。

期间我尝试过一个方法:下载了未更新前的旧版本,解压后把旧版本的程序直接拷贝到更新过的ST软件目录,直接覆盖,重新打开ST4软件,虽然不报错了,但是所有插件都无法设置,连Package Control的设置选项都变灰了,无法再进行修改设置,连主题和字体都无法修改设置,软件就彻底废了。

0 人点赞  ∙  0 人收藏  
加入收藏 点赞 我要评论

目前共有 3 条回复

heavil
- heavil - 15小时前

@dehoo 你说得对,我怎么忘记这茬了,说干就干!

dehoo
- dehoo - 15小时前

打开Preferences → Settings,在右侧用户设置区域写入以下配置即可禁止软件的更新提示,如果再不用更新软件就不必再怕有这些烦恼了。

{
"update_check": false,
"show_update_in_status_bar": false
}
weiboking
- weiboking - 1天前

Sublime能用就不要更新,除非没办法适应你要用的插件,不过对于不用插件的人来说倒是无求所谓了