• 请不要在回答技术问题时复制粘贴 AI 生成的内容
koala
V2EX  ›  程序员

一个使用sublime 编译 python的问题

  •  
  •   koala ·
    okoala · Aug 17, 2012 · 15331 views
    This topic created in 5201 days ago, the information mentioned may be changed or developed.
    sublime的控制台在编译python无法显示中文啊~~怎么解决啊啊啊啊~
    提示:[Decode error - output not utf-8]
    9 replies  •  1970-01-01 08:00:00 +08:00
    banxi1988
    banxi1988
    Aug 17, 2012
    1
    建议代码文件使用utf-8编码,python代码中头部也写上#-*- coding:utf-8 -*-
    shiweifu
    shiweifu
    Aug 17, 2012
    2
    编译 -> 编辑
    yetone
    yetone
    Aug 19, 2012
    3
    @shiweifu .py 编译成 .pyc
    pirates
    pirates
    Aug 19, 2012
    4
    exec.py里面替换
    proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
    为
    proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding())
    koala
    koala
    OP
    Aug 27, 2012❤️2
    5
    谢谢上面几位朋友的回复,我是这样解决的。
    在插件的文件夹下找到python文件夹,进去、修改Python.sublime-build文件。
    {
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "cp936"
    }
    然后设置成上面。cp936的由来是通过运行cmd,输入:chcp。控制台会输出: 活动代码页:936
    所以设置编码规格为cp936。我试过,不管在哪里设置成utf-8都是不行的。
    通过这样的操作,sublime的python控制台终于可以输出中文了。
    davidx
    davidx
    Aug 27, 2012
    6
    @koala 这样确实可以, 但是只是windows而已
    这个错误的原因是: python解释器的输出是cp936的编码, 而sublime默认是utf-8, 所以有这个错误了
    mozlingyu
    mozlingyu
    Oct 27, 2012
    7
    领教。。谢
    dingyaguang117
    dingyaguang117
    Oct 29, 2012
    8
    sublime 还是不太适合写python的
    感觉还是前端用比较合适
    dingyaguang117
    dingyaguang117
    Oct 29, 2012
    9
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2099 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 12:46 · PVG 20:46 · LAX 04:46 · JFK 07:46
    ♥ Do have faith in what you're doing.