Sublime Text 3使用virtualenv插件编译时编译结果乱码的问题解决方案

avatar 2020年2月15日21:45:47 评论 2,070

加入VIP,可以享受无广告视频播放!更可享受教程提前看!详情猛戳:VIP介绍

使用sublime text 3编写python脚本时,平常使用Ctrl+B的编译系统编译在输出结果中中文就是显示正确的中文,不会显示乱码,但是当我启用了virtualenv插件,使用虚拟环境编译时,却看到中文显示出了乱码。

我又在cmd运行python做了测试,即使是在虚拟环境,也不会出现乱码的情况,这是为什么呢?

经过探究,终于在别人的一篇博文上找到了解决方法。

首先,我是安装了Virtualenv插件到sublime的,编译时会出现乱码,乱码长啥样呢?我去网上找了例子图:

代码:

print("没有循环数据!")
print("完成循环!")

可能编译后会变成这样:

Sublime Text 3使用virtualenv插件编译时编译结果乱码的问题解决方案

完全不知道这是啥子。

如何解决呢?

原来是编译系统默认的编码配置问题。

首先关闭一下sublime如果你有启动的话,避免出问题。

找到插件安装的地方:C:\Users{Username}\AppData\Roaming\Sublime Text 3\Installed Packages ==>注意改变一下Username为你自己的,Users在你系统也可能叫做“用户”,AppData这个目录是隐藏的,需要你查看隐藏文件。

里面就可以找到一个叫做Virtualenv.sublime-package的文件,这个就是Virtualenv插件的包。

怎么打开呢?

在修改文件名,将后缀改为zip,如Virtualenv.sublime-package.zip,这时候就变成一个压缩文件了。

双击打开,我这里使用好压打开的。然后找到里面的Python + Virtualenv.sublime-build这个文件,这个文件就是编译系统的配置文件。(PS:我第一次学习的时候把我惊呆了,原来这个包是可以这样解压的)

Sublime Text 3使用virtualenv插件编译时编译结果乱码的问题解决方案

无需解压,直接在压缩软件中右键该文件,选择打开。然后选择适当的文本编辑器打开,比如我选了notepad++。

可以看到里面默认的代码是这样的:

{
    "target": "virtualenv_exec",
    "shell_cmd": "python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

在前面增加一行编码配置,变成:

{
    "env": {"PYTHONIOENCODING": "utf8"},
    "target": "virtualenv_exec",
    "shell_cmd": "python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

保存该文件。然后关闭。这时压缩软件会检测到你的修改,并提示是否重新保存压缩文件,就点击是就好了。重新压缩好之后,关闭压缩包。

将后缀名去掉,再变回Virtualenv.sublime-package即可。

 

打开你的sublime,还是一样的进入虚拟环境编译一下,看!是不是已经能正常显示中文啦?
 

 

雪山凌狐做了部分补充和修改。

原文链接:https://www.cnblogs.com/nymrli/p/9542751.html

avatar

发表评论

您必须才能发表评论!