-
Notifications
You must be signed in to change notification settings - Fork 114
2014 09 26 setting sublime for python
layout: post title: '配置Python开发环境和Sublime Text 3编辑器' category: 编程 tags: [Ubuntu, Sublime, Python] published: true
- 配置 Python 环境
-
- 安装 pip
-
- 构建虚拟环境
-
- Sublime Text 3 的安装与配置
-
- 安装插件
-
- 修改快捷键
-
- 修改视图
-
- 编辑器快捷键汇总
-
pip 是 Python 的包管理工具,建议 Python 的包都用 pip 进行管理。
# 安装 pip
$ sudo apt-get install python-pip
#安装python包
$ pip install [ ]
#升级python包
$ pip install --upgrade [ ]
#卸载python包
$ pip uninstall [ ]
virtualenv 用于创建独立的 Python 环境,多个 Python 相互独立,互不影响,它能够:
-
在没有权限的情况下安装新套件
-
不同应用可以使用不同的套件版本
-
套件升级不影响其他应用
- 安装 Virtualenv 和 Virtualenvwrapper
Virtaulenvwrapper 是 virtualenv 的扩展包,用于更方便管理虚拟环境,它可以做:
-
将所有虚拟环境整合在一个目录下
-
管理(新增,删除,复制)虚拟环境
-
切换虚拟环境
- 安装 virtualenv 和 virtualenvwrapper
$ sudo apt-get install python-virtualenv
$ virtualenv --version
1.11.6
$ sudo pip install virtualenvwrapper
- 设置环境
#创建目录用来存放虚拟环境
$ mkdir $HOME/.virtualenvs
#在~/.bashrc中添加:
$ nano ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
#重载环境
$ source ~/.bashrc
- 使用方法
默认情况下,虚拟环境会依赖系统环境中的 site packages,就是说系统中已经安装好的第三方 package 也会安装在虚拟环境中,如果不想依赖这些 package,那么可以加上参数 --no-site-packages 建立虚拟环境
virtualenv --no-site-packages [虚拟环境名称]
#列出虚拟环境列表
$ workon
#或者
$ lsvirtualenv
#新建虚拟环境
$ mkvirtualenv testENV
New python executable in testENV/bin/python
Installing setuptools, pip...lsdone.
#列出虚拟环境列表
(testENV)llgreen@Work-PC:~$ lsvirtualenv
testENV
=======
#启动/切换虚拟环境
$ workon [虚拟环境名称]
#删除虚拟环境
$ rmvirtualenv [虚拟环境名称]
#离开虚拟环境
(testENV)llgreen@Work-PC:~$ deactivate
- 首先安装Package Control,通过 Package Control 可以很方便安装其他插件
- 通过快捷键 ctrl+` 或者 View > Show Console 菜单打开控制台
- 粘贴对应版本的代码后回车安装
#适用于 Sublime Text 3:
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
- 按快捷键 Ctrl+Shift+P 调出命令窗口,选择 Package Control: Install Package,安装 Python 开发常用的插件:
Sublime 有一个非常丰富的插件系统。而我当前使用的插件如下:
-
Color Scheme - Tomorrow Night Color schemes 决定了编辑器界面语法高亮的字体颜色。这是一个非常酷的暗黑系样式。
-
Theme - Soda Dark Themes 影响 Sublime 界面元素的颜色和风格。这个非常适合 Tomorrow Night 的配色方案。
-
All Autocomplete Sublime 默认的自动完成只关注当前文件的单词。这个插件扩展了其自动完成的单词列表到所有打开的文件。
-
SublimeCodeIntel 为部分语言增强自动完成功能,包括了 Python 。这个插件同时也可以让你跳转到符号定义的地方,通过按住 alt 并点击符号。非常方便。
-
SublimeTmpl 这个插件允许用户定义文件的模板,比如在写一个 html 文件时,老是重复文件头的一些引入信息很繁琐,可以定义一个模板直接生成必须的信息,具体的 SublimeTmpl 插件用法请自行百度。
-
SideBarEnhancements 一个增强侧边栏文件夹浏览功能的插件,比较不错。
-
SublimeREPL 允许你在编辑界面直接运行 Python 解释器。我倾向于在单独的终端窗口用 bpython 来运行,但有时 SublimeREPL 是很有帮助的。
-
GitGutter 在编辑器的凹槽区,依照 Git ,增加小图标来标识一行是否被插入、修改或删除。在 GitGutter 的 readme 中有说明如何更改颜色图标来更新你的配色方案文件。
-
Pylinter 这个插件提供了目前我所见到的最好的 pylint 编辑器整合。它自动检查 .py 文件,无论其何时被保存,并且会直接在编辑界面显示 pylint 违规。它还有一个快捷方式来禁用局部的 pylint 检查,通过插入一个 #pylint: 禁用注释。这个插件对于我确实非常有用。 id:43 gh:1
-
SublimeLinter 是用来在写代码时做代码检查的,可以检查 Python 代码是否符合 PEP8 的要求。
-
Tag 可以为 web 开发者提供 html 和 css 标签,很方便快捷,对于 web 前端设计者非常实用。
- 自动安装插件
修改配置文件 Preferences->Package Settings->Package Control->Settings-User 如下,保存以后,选择 Package Control->Install Package,将会自动下载。
{
"installed_packages": [
"Terminal",
"Alignment",
"BracketHighlighter",
"SublimeLinter",
"ColorPicker",
"CompactExpandCss",
"CSScomb JS",
"Emmet Css Snippets",
"Hex-to-RGBA",
"HTML5",
"JsFormat",
"Package Control",
"Rails Developer Snippets",
"Ruby on Rails snippets",
"RubyTest",
"SublimeTmpl",
"Tag",
"Tradsim"
]
}
SublimeREPL 安装之后没有快捷键,每次运行程序必须用鼠标去点工具栏,有些不爽。
- SublimeREPL 插件的菜单命令
Preferences => Browser Packages…打开插件安装包位置,依次找到 SublimeREPL\config\Python 文件夹下的 Main.sublime-menu 并打开。
该文件即是插件菜单的结构及相关参数,从中找到运行 Python 文件的菜单项的部分:
{"command": "repl_open",
"caption": "Python - RUN current file",
"id": "repl_python_run",
"mnemonic": "d",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-u", "$file_basename"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
其中 id 的值是我们需要的,因为我们正是要为其添加快捷键。另外,菜单文件的位置也是需要先记下的,因为需要为这个命令指定定义的来源。
- 自定义快捷键
Preferences => Key Boundings-User 打开自定义快捷键文件,写入如下内容:
[
{
"keys": ["f5"], // 快捷键,注意小写
"command": "run_existing_window_command", // 运行定义的命令
// 命令参数
"args": {
"id": "repl_python_run", // 上一步查看的命令的id
"file": "config/Python/Main.sublime-menu" // 菜单定义文件位置
}
}
]
- 选择查看--布局--行:2 或者 Shift+Alt+8
将 Sublime 分割为上下两部分,选择 F5 进行代码编译,编译信息将会显示在下面的编译区域。
Ctrl+Shift+P:打开命令面板
Ctrl+P:搜索项目中的文件
Ctrl+G:跳转到第几行
Ctrl+W:关闭当前打开文件
Ctrl+Shift+W:关闭所有打开文件
Ctrl+Shift+V:粘贴并格式化
Ctrl+D:选择单词,重复可增加选择下一个相同的单词
Ctrl+L:选择行,重复可依次增加选择下一行
Ctrl+Shift+L:选择多行
Ctrl+Shift+Enter:在当前行前插入新行
Ctrl+X:删除当前行
Ctrl+M:跳转到对应括号
Ctrl+U:软撤销,撤销光标位置
Ctrl+J:选择标签内容
Ctrl+F:查找内容
Ctrl+Shift+F:查找并替换
Ctrl+H:替换
Ctrl+R:前往 method
Ctrl+N:新建窗口
Ctrl+K+B:开关侧栏
Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身
Ctrl+F2:设置/删除标记
Ctrl+/:注释当前行
Ctrl+Shift+/:当前位置插入注释
Ctrl+Alt+/:块注释,并 Focus 到首行,写注释说明用的
Ctrl+Shift+A:选择当前标签前后,修改标签用的
F11:全屏
Shift+F11:全屏免打扰模式,只编辑当前文件
Alt+F3:选择所有相同的词
Alt+.:闭合标签
Alt+Shift+数字:分屏显示
Alt+数字:切换打开第 N 个文件
Shift+右键拖动:光标多不,用来更改或插入列内容
鼠标的前进后退键可切换 Tab 文件
按 Ctrl,依次点击或选取,可需要编辑的多个位置
按 Ctrl+Shift+上下键,可替换行