- 部分转载自:将Sublime Text 3设置为Python全栈开发环境
相关配置
安装Python
- 环境变量设置为 C:\Python34 即可
- 在cmd中输入 python 测试是否配置正确环境变量
在两个版本的Python之间切换
- cmd中输入 py -2 web2py 就是用Python 2运行的
- cmd中输入 py -3 web2py 就是用Python 3运行的
- 在Sublime和环境下只要把环境变量里的Python 3的路径删了就是Python 2的解释器的路径了
- 添加一个Python27.sublime_build,就可以执行Python27的程序,同理可以添加Python34
{
"cmd" :["C:\\Python27\\python.exe","$file"],
}
SyntaxError: Non-ASCII character ‘\xe5’ in file 错误提示
- 现象:最近需要抓取一些网页的信息,但发现Python的乱码问题相对Java来说,不太一样。按照以往Java解决中文乱码问题的思路去解决Python乱码,貌似行不通,报错信息:
- SyntaxError: Non-ASCII character ‘\xe5’ in file
- 原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他的语言,比如小日本的日语……),此时即使你把自己编写的Python源文件以UTF-8格式保存了;但实际上,这依然是不行的。
- 解决方法:在源码的第一行添加以下语句:
- # -- coding: UTF-8 --
- 或者
- # coding=utf-8
- (注:此语句一定要添加在源代码的第一行)
写代码时出现了好多白色的框框
- 如果是因为使用anaconda插件而出现这些框框,可以在可以在 Sublime > Preferences > Package Settings > Anaconda > Settings Default 中设置关闭: {“anaconda_linting”: false}
- 或者 是不是安装了 SublimeLinter
- 这是用来在写代码时做代码检查的。可以在包管理器中安装。写Python程序的话,它还会帮你查代码是否符合PEP8的要求。有问题有代码会出现白框,点击时底下的状态栏会提示出什么问题。
- 建议再装一个 Python PEP8 Autoformat
- 这是用来按PEP8自动格式化代码的。可以在包管理器中安装。如果以前写程序不留意的话,用SublimeLinter一查,满屏都是白框框,只要装上这个包,按ctrl+shift+r,代码就会按PEP8要求自动格式化了,一屏的白框几乎都消失了。
- 另外建议装 Flake8Lint 这个插件,感觉还是蛮不错的
Python Flake8Lint
- 代码不规范时会在前面显示一个红色的小灯笼,每次运行会提示你怎么修改
- 保存代码的时候也会提示不规范的地方
- Ctrl + Alt + Shift + 8 提示修改
- Ctrl + Alt + Shift + 9 提示修改下一个错
- 当一行代码太长时,会提示,所以修改一下默认的代码行长度就行了Preferences -> Package Settings -> Flake8Lint -> Settings-Default
Code Snippets
- 允许你通过一两个简单的关键字就能写出一段常用的代码片(Snippets),从而增加你的生产效率。比如,你只需要打开一个文件,输入 “lorem” 然后敲击 tab 键,就会自动生成一段乱数假文(译者注: 一种用于测试文章或文字在不同字型、版型下看起来的效果等的文字)。又比如在 Python 代码中,你可以输入 “defs” 然后敲击 tab 键,你就能得到一段通用的函数定义。
- 同时,你还可以点击 Tools > New Snippet 来创建属于你自己的代码片。请参照这个 文档 来获取帮助,也可以在 这里 查看我个人用到的一些 snippets。
Git
- 版本库是软件开发中不可缺少的工具,该插件把Git常用命令加入了Command Palette,让开发人员进行代码管理方便不少。
GitGutter
- 这个小插件是在修改后的文件行号前增加一些标识图片,方便与版本库对比,修改内容一目了然。
Anaconda
- Anaconda是一个终极的Python扩展包,他为ST3增加了很多IDE类的特性,包括:
- 自动补全
- 代码风格提示(基于PEP8),如果你不想使用这个功能,比如说你更愿意使用下文会提到的Sublime Linter,可以在 Sublime > Preferences > Package Settings > Anaconda > Settings User 中设置关闭: {“anaconda_linting”: false}
- McCabe代码复杂性检测
- Goto Definition / 跳转到定义
- Find Usage / 查找引用
- 显示文档说明
- 所有这些功能都在鼠标右键中得Anaconda选项下可以调出。
- 需要留意的是,Anaconda安装好后是需要做一些配置的,如果你英文够好,建议阅读Readme文档,但你至少需要做下面的操作:
- 打开 Sublime Text > Preferences > Package Settings > Anaconda > Settings - User, 输入
- 这个不配置也没问题
{
"python_interpreter": "C:\\Python34\\python.exe",
"auto_python_builder_enabled": false,
}
- Anaconda绝对是换到Sublime Text 3后最令我兴奋的插件,没有之一。在Sublime Text 2的时代,为配置一个好用的python开发环境,
- 我们需要分别安装All Autocomplete,SublimeREPL,Pylinter和PEP8等诸多插件。
- Geek就是让一切变得更简单,该插件作者就为了简便,把这些功能集中起来了。
- Anaconda把PyFlakes, pep8 和 McCabe以插件的方式集成起来。安装Anaconda后,通过配置即可完成一个良好的Python开发环境。
- Anaconda is a python development suite that includes autocompletion, IDE features, linting with PyLint or PyFlakes + pep8, AutoPEP8 , Vagrant and more for Sublime Text 3.
- 安装时可以通过Package Control安装,也可以使用Git追踪最新版本。GitHub地址
- 安装成功后在插件配置内打开Anaconda的REAMME,可以参考进行个性配置。我这里做了如下的修改:
增加对象的点操作符时的自动提示
- 这个装上会提示代码解释错误,还是别装了
- 在Packages/User目录下创建Python.sublime-settings文件,增加如下内容
{
"auto_complete_triggers": [{"selector": "source.python - string - comment - constant.numeric", "characters": "."}] }
增加括号操作符后的参数自动完成
- 在Preference -> Package Setting -> Anaconda -> Setting-Defualt 中设置
- 下面两个设置以后代码提示让人受不了,还是别加了
- 在Anaconda Setting中修改complete_parameters参数的值为true。
- 这里还有一个参数为complete_all_parameters,设置其为true后,则带默认值的参数也会自动完成。
"pep8_ignore":["E501"]
SublimeTmpl
- Sublime Text 新建文件的模板插件。模板支持自定义 attr(在settings-user里设置)。
- 去官网学习吧github
SublimeCodeIntel 这个特别重要,自动提示补全代码和前面输入过的
- 为部分语言增强自动完成+成员/方法提示功能,包括了 Python 。这个插件同时也可以让你跳转到符号定义的地方,通过按住 alt 并点击符号。非常方便。支持所有Komodo Editor 支持的语言类型(需要自行配制)JavaScript, Mason, XBL, XUL, RHTML, SCSS, Python, HTML, Ruby, Python3, XML, Sass, XSLT, Django, HTML5, Perl, CSS, Twig, Less, Smarty, Node.js, Tcl, TemplateToolkit, PHP.此处仅介绍配置python.
- 选择Preferences -> Browser Packages… -> SublimeCodeIntel.codeintel 找到 config 修改配置文件config。添加:
- 好吧,我也没找到,自己去官网看看吧github
Djaneiro
- Djaneiro为Django的模板提供了很好地支持,并且提供了一些不错的代码补全,能够极大地节省你的时间,你可以在这里查阅代码补全的文档。例如,你可以用var创建 {{ }}, 用tag创建{% %}
SublimeLinter
- SublimeLinter是一个ST3 提示器框架,这个包本身不包含任何预设的提示器,你必须用Package Control安装提示包(SublimeLinter-[linter_name])。你可以在这里找到一些官方提供的提示,实际上也存在大量第三方的提示器,查看这里。
- 就Python而言,我推荐使用 SublimeLinter-pyflakes 和 SublimeLinter-pep8
- 我也同时使用了:
- SublimeLinter-jshint
- SublimeLinter-pyyaml
- SublimeLinter-csslint
- SublimeLinter-html-tidy
- SublimeLinter-json
- 所有的提示器可能都会有依赖关系,所以安装后请阅读安装文档。
- 你可以为每一个提示器创建配置,编辑 Sublime Text > Preferences > Package Settings > SublimeLinter > Settings User 即可,例如:
{
"pep8": { "@disable": false, "args": [], "excludes": [], "ignore": "E501,C0301,W0142,W0402,R0201,E1101,E1102,C0103,R0901,R0903,R0904,C1001,W0223,W0232,W0201,E1103,R0801,C0111", "max-line-length": 100, "select": "" },
}
推荐网站
- Package Contorl网站
- Theme - Soda Dark
- Color Scheme - (morrow Night
- Anaconda
- Git
- GitGutter
- Gist
- ConvertToUTF8
- GBK Encoding Support
- Codecs33