首页 > 编程语言 > 详细

Sublime Text 2 运行 Python 脚本中文路径解决方法

时间:2014-08-09 18:37:48      阅读:479      评论:0      收藏:0      [点我收藏+]

在 SublimeText 中直接运行 Python 脚本,出现以下报错提示:

Running python -u C:\Documents and Settings\Administrator\桌面\furl.py
Traceback (most recent call last):
File ".\sublime_plugin.py", line 340, in run_
return self.run(**args)
File ".\exec.py", line 157, in run
File ".\exec.py", line 51, in __init__
File ".\subprocess.py", line 633, in __init__
File ".\subprocess.py", line 842, in _execute_child
UnicodeEncodeError: ascii codec cant encode characters in position 51-52: ordinal not in range(128)

 

报错原因为当前 py 脚本位于包含中文字符串的路径下,解决方法为修改 exec.py 文件内容,在47行之前添加:

45         proc_env = os.environ.copy()
46         proc_env.update(env)
47         for index, arg in enumerate(arg_list[:]):                       # added by yzh
48             arg_list[index] = arg.encode(sys.getfilesystemencoding())   # added by yzh 不增加这两行,在中文字符路径下会出现编码错误。
49         for k, v in proc_env.iteritems():
50             proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())

 

exec.py位于sublime text 2的数据路径下:C:\Documents and Settings\Administrator\Application Data\Sublime Text 2\Packages\Default

subprocess.py位于python安装目录的lib下。

 

参考:http://www.sublimetext.com/forum/viewtopic.php?f=3&t=12185

Sublime Text 2 运行 Python 脚本中文路径解决方法,布布扣,bubuko.com

Sublime Text 2 运行 Python 脚本中文路径解决方法

原文:http://www.cnblogs.com/ifantastic/p/3247657.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!