Sublime配置Python编译环境

接下来配置Python编译环境(启动python的路径)

 

 输入保存

{
"cmd": ["C:/Program Files (x86)/Soft Wcf/Python/python.exe","-u","$file"],
"file_regex":"^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector":"source.python",
}

Sublime.Text.3不支持input()函数输入不支持input()函数输入;安装SublimeREPL

SublimeREPL是Sublime Text的一个插件,它除了可以使你在ST中运行解释器(REPL),还有对Python语言的特别支持,包括在本地/远程(远程仅在linux/osx平台可用)virtualenv中启动Python,快速运行选中的代码或者启动PDB等。

本文介绍在windows下Sublime Text3安装SublimeREPL插件以及快捷键设置等。

-------------

1、Package Control

*我是建议使用的是直接内置了Package Control的Sublime Text3

在Sublime中,"首选项"→"插件控制"

(如果没有就意味着你ST里没内置这个,Package_Control官网 or Package_Control的github )

输入Install Package或者直接点击上图鼠标所在的位置

然后出现Loading repositories,

然后输入sublimeREPL,稍候一阵底部就会告诉你安装好了。

(在"首选项"→"插件设置"里能看到SublimeREPL即是安装好了)

 

2、Install Package时的错误

*如果第一步顺利安装,就可以不看这一步

安装时候报错:

Package Control:There are no packages available for installation

据StackOverflow上说是IPv6造成,如果我们的Intent服务提供者(ISP)不支持IPv6就会引发上述错误,原文如下:

This error is happened with IPv6 problem. If yourInternet Service Provider (ISP) does not support for IPv6 you got this error.

找到了问题原因,下面着手解决它。 

在cmd中输入以下命令:

ping sublime.wbond.net

这样就取得sublime.wbond.net的IPv4地址:

50.116.34.243

打开C:\Windows\system32\drivers\etc\hosts文件,增加如下对应关系:
{IPv4 address} sublime.wbond.net

#to solve Sublime Text IPv6
50.116.34.243 sublime.wbond.net
#end

 

3、SublimeRPEL快捷键设置

"首选项"→"按键绑定 - 用户",添加以下内容

[
     { "keys": ["f7"], "command": "toggle_setting", "args": {"setting": "word_wrap"} },
     { "keys":["f5"], "caption": "SublimeREPL: Python - RUN current file", "command": "run_existing_window_command", "args":{"id": "repl_python_run","file": "config/Python/Main.sublime-menu"}}
]

设置后退出Sublime再打开,按f7会自动换行,在py文件页面下按f5会新开一个标签页运行它。

如果按了f5而显示

can't open file '$file_basename': [Errno 2] No such file or directory

"首选项"→"插件设置"→"SublimeREPL"→"Settings - User",添加以下内容

{
    "default_extend_env": {"PATH": "{PATH};C:\\Python27"}
}

上面路径为自己python的安装目录。

 

4、 Unable to download SublimeREPL. Please view the console for more details

安装时候报错无法下载SublimeREPL,请查看控制台。那么按下快捷键ctrl+`

得到以下信息:

Package Control: Attempting to use Urllib downloader due to WinINet error: Error downloading package. Secure channel error, server not providing SSL (errno 12157) during HTTP write phase of downloading https://codeload.github.com/wuub/SublimeREPL/zip/2.1.2.
Package Control: Error downloading package. HTTP exception InvalidCertificateException (Host codeload.github.com returned an invalid certificate ([SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:550))) downloading https://codeload.github.com/wuub/SublimeREPL/zip/2.1.2.
error: Package Control

这种是网络问题,要么自己解决网络问题,要么直接下载

https://codeload.github.com/wuub/SublimeREPL/zip/2.1.2

下载后,解压出来,文件夹名字改名为SublimeREPL

打开Sublime,"首选项"→"浏览插件",把SublimeREPL文件夹复制到其打开的文件夹里,再重启Sublime即可。

 

5、其他的

等pcat有空再说 :)

sublime text3安装SublimeREPL--解决不能运行input()的问题

 

一、安装包管理器(如果已经安装可以忽略)

1、简单的安装方法:
使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码:

点击(此处)折叠或打开

  1. import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' +pf.replace(' ','%20')).read())

顺利的话,此时就可以在Preferences菜单下看到Package Settings和Package Control两个菜单了
如果是Sublime Text2,代码如下:

点击(此处)折叠或打开

  1. import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb').write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

2、 如果简单安装提示有错误可以尝试手动安装:

1、点击Preferences > Browse Packages菜单
2.进入打开的目录的上层目录,然后再进入Installed Packages/目录
3.下载Package Control.sublime-package并复制到Installed Packages/目录(可以去百度搜下官方下载地址,很简单)
4.重启Sublime Text 
提示:如果还是没安装成功,请百度sublime包管理安装方法;

二、安装SublimeREPL
1、调用ctrl+shift+p,输入:sublimerepl选择并安装;(本机安装时候居然找不到这个sublimerepl,后来输入install package才调出来)
2、然后tools --sublimeREPL--Python你会发现打开了一个python的shell窗口,显然这个并不是我们想要的;
3、继续往下走,选择好我们要执行的py文件,选择Tools -> SublimeREPL -> Python -> RUN current file,这时候已经支持输入了数据了;
如下图所示:



4、为了调试方便,我们可以把这个窗口放到右边,先设置sublime的窗口显示为多层:


然后再调用发现:


这样更方便调试用;
5、最后,由于每次运行程序都要执行:Tools -> SublimeREPL -> Python -> RUN current file 菜单有点麻烦,所以现在可以考虑给他创建个快捷键;
方法:perferences -- key bindings user 中粘贴如下代码(快捷键红色标示的自定义就可以,个人喜欢F5):
[ {"keys":["f5"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}}
]

这样以后你打开你要运行的Py程序,就可以直接按照你设置的快捷键运行了;

三、后语
此插件不知道为什么,有时候运行会报错,但有时候是好的,错误如下:
 

 

个人的解决办法是,按几下ctrl+b编译下有时候会好。。。。不知道还有没有根本的解决办法;总体来说这个插件不是太好用。。。

问题:Sublime Text已有【插件控制】(Package Control),但在线安装遇到“There are no packages available for installation ”的提示,如下图:

                                                                 

解决方法是:去github里搜索相应插件的名称,下载压缩包,并将同名解压缩文件夹放在sublime对应的packages下面。

具体步骤:

SublimeREPL在GitHub的资源地址:https://github.com/wuub/SublimeREPL
点击【Download ZIP】下载到本地并解压为同名文件夹。
打开Sublime Text,点击首选项》浏览插件,即弹出Sublime Text插件所在的文件夹位置,将上一步解压好的文件夹放进来。文件架位置在Sublime Text安装目录的Data》Packages下面。        
插件就算安装成功了。
         
————————————————
版权声明:本文为CSDN博主「en_reading」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
转发:https://blog.csdn.net/en_reading/article/details/104377067

 

Sublime Text3 运行Python 出现Error:Decode error - output not utf-8

 

 

问题描述:

Sublime Text 3 在build Python时,如果python源代码输出有中文,例如“print(‘中文’)”,Sublime Text 会报 [Decode error - output not utf-8]

分析:

在Sublime Text 3里,新建一个python源码文件,代码如下为:

 View Code

ctrl + B 进行build该文件。默认输出应该是:

cp936

cp936

但是报 [Decode error - output not utf-8] 错误。

这意味着,python在编译运行源码后,默认将输出结果以cp936编码,发送给Sublime Text。 而Sublime Text 中python build的默认接收编码是utf-8。Sublime Text在接收到python输出后,试图以utf-8解码cp936编码的流。当cp936编码的流中没有汉字时,因为英文字符集在cp936和utf-8中的编码兼容,所以用utf-8解码不会出错;当 cp936编码的流中 有汉字时,因为汉字字符集在cp936与utf-8的编码不兼容,所以用utf-8解码就会错误。

最终Sublime Text就会报 [Decode error - output not utf-8]错误。

解决:

方法1. Python有个PythonIoEncoding环境变量,用来定义stdin/stdout/stderr的编码。 

windows下,cmd中执行python -h 可以看到该环境变量的说明。 

所以可以在环境变量下,添加一个环境变量pythonioencoding,值为utf-8,即可解决该问题。

方法2.修改Sublime Text的python build的设置。将其编码设置为cp936。

打开Python.sublime-build文件,并添加”encoding”:”cp936″这一行,保存即可

Python.sublime-build 位置:

Sublime Text 3 :.../SublimeText3/Packages/User/Python.sublime-package 

直接用记事本打开,修改为

 

 

posted @ 2021-06-23 15:54  linyinmobayu  阅读(808)  评论(0编辑  收藏  举报