sublime ( Ctrl + B)调用python控制台运行python脚本无反应/控制台空白
2018-01-24 01:30
691 查看
首先确定已经配置好 sublime-build 文件。下面给出我的配置文件:
[plain]
view plain
copy
{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8",
"env": {"PYTHONIOENCODING": "cp936"}
}
在sublime text 2中点Preference -> Browse Packages,然后在Python目录下找到Python.sublime-build 文件,用 sublime 打开编辑即可。
安装pytho编译器后没有配置系统环境变量的,需要在上面的文件中加上Path条目。后面两个条目(“encoding”和“env”)不加也是可以的。
Sublime Text 2 ctrl+b 如果出现运行为空白,按ctrl+`来显示错误。
完整的错误是:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 325, in run_
File ".\exec.py", line 145, in run
File ".\exec.py", line 42, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 9: ordinal not in range(128)
这个问题的起因是配置文件目录下Packages\Default目录下的exec.py在编辑环境变量,但是环境变量中的字符集确少了ascii字符集
解决方案:
找到配置文件目录位置((在sublime text 2中点Preference -> Browse Packages)在Default目录下找到exec.py,编辑即可;可以参考原作者的另一篇博文修改sublime
Text 的默认配置文件位置)
其中的Packages\Default\exec.py,打开编辑
找到第41-42行:
[python]
view plain
copy
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
两种修改方案:
1、果断删掉!(你没看错,就是这样)
2、对它进行异常处理,避免它出错时停止程序运行就像这样:
[python]
view plain
copy
for k, v in proc_env.iteritems():
try:
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except UnicodeDecodeError:
print "Encoding error..."
print "VARIABLE: ", k, " : ", v
然后你在尝试对pyhon或是其他程序的编译,就会发现切正常了!
参考资料:
http://384444165.iteye.com/blog/1798107
[plain]
view plain
copy
{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8",
"env": {"PYTHONIOENCODING": "cp936"}
}
在sublime text 2中点Preference -> Browse Packages,然后在Python目录下找到Python.sublime-build 文件,用 sublime 打开编辑即可。
安装pytho编译器后没有配置系统环境变量的,需要在上面的文件中加上Path条目。后面两个条目(“encoding”和“env”)不加也是可以的。
Sublime Text 2 ctrl+b 如果出现运行为空白,按ctrl+`来显示错误。
完整的错误是:
Traceback (most recent call last):
File ".\sublime_plugin.py", line 325, in run_
File ".\exec.py", line 145, in run
File ".\exec.py", line 42, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 9: ordinal not in range(128)
这个问题的起因是配置文件目录下Packages\Default目录下的exec.py在编辑环境变量,但是环境变量中的字符集确少了ascii字符集
解决方案:
找到配置文件目录位置((在sublime text 2中点Preference -> Browse Packages)在Default目录下找到exec.py,编辑即可;可以参考原作者的另一篇博文修改sublime
Text 的默认配置文件位置)
其中的Packages\Default\exec.py,打开编辑
找到第41-42行:
[python]
view plain
copy
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
两种修改方案:
1、果断删掉!(你没看错,就是这样)
2、对它进行异常处理,避免它出错时停止程序运行就像这样:
[python]
view plain
copy
for k, v in proc_env.iteritems():
try:
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except UnicodeDecodeError:
print "Encoding error..."
print "VARIABLE: ", k, " : ", v
然后你在尝试对pyhon或是其他程序的编译,就会发现切正常了!
参考资料:
http://384444165.iteye.com/blog/1798107
相关文章推荐
- sublime ( Ctrl + B)调用python控制台运行python脚本无反应/控制台空白
- sublime 中按 ctrl + B 调用 python3 运行
- sublime 中按 ctrl + B 调用 python3 运行
- sublime运行python程序的控制台输入
- GDB 运行PYTHON 脚本+python 转换GDB调用栈到流程图
- sublime text3 运行python3时遇到控制台input运行无反应
- window下java调用python脚本并读取Python运行结果
- 在Mac终端中,用Python脚本A 调用Python脚本B(函数)运行环境小结
- 配置Sublime使其可以运行Python脚本
- Java调用Python脚本,以及报错解决
- .NET调用Windows API隐藏控制台程序运行的窗口,并设置开机自启动
- Python调用(运行)外部程序
- C#中通过Process运行Python脚本
- Python脚本传参和Python中调用mysqldump
- c++调用tensorflow库的python脚本出现的问题
- python独立脚本调用django settings
- 编码问题导致python脚本运行时出错: 没有那个文件或目录
- Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
- Python脚本之间调用
- Linux下运行Python脚本显示“: 没有那个文件或目录”问题