sublime指定python版本

来源:互联网 发布:软件著作权 源程序 编辑:程序博客网 时间:2024/06/05 18:49

这两天闲暇的时候学了下python,遇到一个坑,希望能帮大家解决问题

背景:我用的是mac,系统中默认安装了python版本是2.7.10;我自己又安装了3.6.3版本

在我用sublime对着官方文档写爬虫时,发现了一个报错
代码如下

import http.clientconn = http.client.HTTPSConnection("www.baidu.com")conn.request("GET", "/")r1 = conn.getresponse()print(r1.status, r1.reason)

报错如下

ImportError: No module named http.client

经分析发现是sublime默认使用系统默认python版本,而系统默认的版本是2.7.10,此版本中没有http.client(老版本中使用httplib)

也就是说我要在sublime中指定python版本,经过摸索,操作如下:
Sublime——tools——build system——new build system
把文件中的内容替换为

{    "cmd": ["/usr/local/bin/python3", "-u", "$file"],    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",    "selector": "source.python"}

修改完成之后保存。然后在Sublime——tools——build system中选中你刚刚新增的build system即可

注意:此处/usr/local/bin/python3的地址应为实际地址,可用如下方法查询:在终端中输入:which python3

localhost:Users daiwenkai$ which python3/usr/local/bin/python3





这样修改之后还发现文件中无法写中文,经测试需在上面文件中添加:
“env”: {“PYTHONIOENCODING”: “utf8”}
既新增的build system完整内容应该为:

{    "cmd": ["/usr/local/bin/python3", "-u", "$file"],    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",    "selector": "source.python",    "env": {"PYTHONIOENCODING": "utf8"}}

如果发现新建的build system有误或者名字不喜欢,可以在sublime——perferfences——browes packages,进入User文件夹删除相应文件