Sublime Text 3插件开发:如何加载enum模块?
解决Sublime Text 3中导入enum模块的问题
你遇到的问题很典型——Sublime Text 3内置的Python 3.3.6确实没有原生的enum模块(这个模块是Python 3.4才正式加入标准库的)。想要在插件里正常使用enum,有几个可行的方案,我给你梳理下:
方案1:使用兼容包enum34(最稳妥)
enum34是专门为Python 2.4到3.3版本开发的enum兼容实现,和标准库的enumAPI完全一致,不会有使用上的差异。操作步骤很简单:
- 下载enum34的源码包(或者直接克隆它的代码仓库)
- 解压后,把里面的
enum文件夹直接复制到你的Sublime插件目录中 - 之后在插件里直接
import enum就能正常使用,完全不依赖外部环境
方案2:手动添加全局Python 3.6的库路径(不推荐)
理论上可以把全局Python 3.6的site-packages路径插入到Sublime的Python环境的sys.path里,代码示例如下:
import sys # 替换成你自己的Python3.6 site-packages实际路径,比如Mac上可能是/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages sys.path.insert(0, "/your/python3.6/site-packages/path") import enum
但我不太推荐这个方法,因为Sublime的Python 3.3和全局的Python 3.6在底层库版本上存在差异,强行混用很容易出现奇怪的兼容性问题,比如依赖库加载失败、运行时崩溃之类的。
方案3:升级到Sublime Text 4(最省心)
如果你的使用场景允许升级,直接换成Sublime Text 4就一劳永逸了——它内置的是Python 3.8,原生支持enum模块,而且整体性能和功能都比ST3强不少。
内容的提问来源于stack exchange,提问作者rageandqq
相关产品推荐
相关产品推荐

