我的电脑环境:MacOS,使用SublimeText,编译运行Python3程序
目录
1、安装SublimeText
2、安装Install Package
3、安装Python3
4、编译Python3程序,复现编码问题
5、解决Python3程序,出现的编码异常问题
6、正确演示结果
1、安装SublimeText
自行网上下载一个破解版的即可
Sublime Text 3 Mac简体中文汉化包下载及安装教程
2、安装Install Package
官网下载包管理插件,https://packagecontrol.io/installation
1、打开Sublime Text.app 单击首选项>浏览包...菜单
2、浏览一个文件夹,然后进入Installed Packages/文件夹
3、下载Package Control.sublime-package并将其复制到Installed Packages /目录中
4、重新启动即可
3、安装Python3
快捷键:Command + Shift + P,输入picp,然后输入pyton 3,进行安装
4、编译Python3程序,复现编码问题
1、在桌面新建一个pythonDemo.py文件
2、编写一行打印输出,测试print("Hello World"),正常
3、编写一行打印输出,测试print("你好,程序喵"),出现一下异常
编码异常:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
Traceback (most recent call last): File "/Users/liurenkui/Desktop/pythonDemo.py", line 1, in <module> print("\u4f60\u597d\uff0c\u7a0b\u5e8f\u55b5"); UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128) [Finished in 0.1s with exit code 1] [shell_cmd: python3 -OO -u "/Users/liurenkui/Desktop/pythonDemo.py"] [dir: /Users/liurenkui/Desktop] [path: /usr/bin:/bin:/usr/sbin:/sbin]
通过观察,发现是编码问题
5、解决Python3程序,出现的编码异常问题
解决问题方式在网上找了很多种,其他方式不讲,就说一下我是怎么解决的吧
1、在应用程序中,找到Sublime Text3.app
2、点击右键,打开显示包内容(安装包位置)
3、找到并进入Installed Packages文件夹,然后找到Python 3.sublime-package文件(上面3安装正常,会有此文件)
4、将Python 3.sublime-package文件拷贝到桌面,增加.zip后缀名,变成压缩文件,并进行解压
5、打开Python3.sublime-build文件,文件内容如下
{ "shell_cmd": "python3 -OO -u \"$file\"", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python.3", "windows": { "shell_cmd": "py -3 -OO -u \"$file\"" } }
修改文件内容如下,增加了encoding编码
{ "shell_cmd": "python3 -OO -u \"$file\"", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python.3", "encoding": "utf-8", "env": {"PYTHONIOENCODING": "utf-8"}, "windows": { "shell_cmd": "py -3 -OO -u \"$file\"" } }
6、修改完成之后,将解压到文件夹重新打包,文件名为Python 3.sublime-package.zip
7、将后缀名.zip删除,然后拷贝,并替换掉Sublime Test 3安装包中Installed Packages文件夹下的同样文件
8、重新启动,完成
6、正确结果演示
扩展 Python 2 解决中文编码问题
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*-
或者 #coding=utf-8
就行了。
另外一方面需要保证你的py脚本文件是utf-8编码,保持一致
#!/usr/bin/python # -*- coding: UTF-8 -*- print "你好,世界";
未经允许请勿转载:程序喵 » Sublime Text3执行Python3编码问题解决