Windows+Anaconda2&3+Sublime text

来源:互联网 发布:数控车g73编程实例详解 编辑:程序博客网 时间:2024/06/06 09:18

为什么是Aanconda

我是一个谋定而后动的人,在写这篇文章之前,遍历如知乎,伯乐在线等网站论坛上对Python各大发行版本的意见后,从Aanconda,Enthought,WinPython中选取了Aanconda作为我Windows环境下以后开发Python的工具,具体的意见参考这里。
选择Aanconda的理由:

  • Aanconda由一个公司continuum.io在维护,其开创者是SciPy的原始作者,同时也是NumPy的贡献者–Travis。Anaconda相对Canopy支持Python的版本更多,对Python新版本支持跟的很紧。而WinPython其项目负责人是PierreRaybaut,相比之下,更新和稳定性不会很好。
  • 在包的管理方面,虽然pip已经足够的强大,但是有时在安装如mayavi包的依赖时会出错,而经过Aanconda的UI界面anaconda-navigator下载安装的mayavi更加的稳定。
  • Aanconda支持更多的Python版本内置的env目录可以更加方便的管理Python的不同版本
    至于说Aanconda的包源在国外,下载相关的包时会很慢。可以使用Aanconda提供的conda,其提供了和pip相似的功能,使用以下的命令即可切换到国内如清华大学和豆瓣的源:
conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'conda config --set show_channel_urls yes

在WINDOWS下实现Python2和Python3的共存

步骤:

1.安装Anaconda2(最好C盘):

这里写图片描述
这里写图片描述

2.安装Anaconda3:和安装安装Anaconda2一样,安装在D:/Anaconda3
3.解决python2和python3的冲突:

在两个版本的python下面分别新建py2.bat(或者python2.bat)文件,和py3.bat(或者python3.bat)文件
注:bat文件是windows下的dos批处理文件,包含着dos命令
这里写图片描述
py2.bat:

C:\Anaconda2\python.exe %*

这里写图片描述

py3.bat:

C:\Anaconda3\python.exe %*

事实上只要新建的两个文件能在WINDOWS系统的环境变量之下即可,用命令行使用python2和python3,效果如下:
这里写图片描述

4.解决pip和相关的命令:

至于pip和相关的命令在相关的Script目录中分别更改为pip2和pip3,相关的命令如anaconda-navigator2和anaconda-navigator3,conda2和conda3等等。如下图:

这里写图片描述

到此为止,编译的环境基本上搭建完毕!

为什么是Sublime

  • 本来我算是半个的vim粉了,让我从vim迁移到Sublime的是其Vintage模式,这个模式相当于vim的normal模式,各种在vim的normal模式下的命令,大多都可以在Sublime中按下后进行使用。
  • 各种美好的内置特性:

Split Layouts

允许你将你的许多文件放到很多分割开来的视窗中。如果你正在进行以测试为目的的开发(将 Python代码放在一个视窗中,而测试脚本放在另一个视窗中)或者正在进行前端开发(将 HTML 代码放在一个视窗里,CSS/Javascript 代码放在另一个视窗里)的时候将会非常有用。

Automatic loading of the last session

帮你自动打开你上次关闭的时候编辑器中所有打开的文件。我总是一直开着ST3,而且其中打开着一大堆项目——当我重启电脑以后, 它能够自动帮我打开所有的这些文件和文件夹。

Code Snippets

允许你通过一两个简单的关键字就能写出一段常用的代码片(Snippets),从而增加你的生产效率。比如,你只需要打开一个文件,输入“lorem” 然后敲击 tab 键,就会自动生成一段乱数假文(译者注:一种用于测试文章或文字在不同字型、版型下看起来的效果等的文字)。又比如在 Python 代码中,你可以输入 “defs” 然后敲击tab 键,你就能得到一段通用的函数定义。

Go-to-anything

按下Ctrl+P输入文件名可以在当前目录下快速的呼出并实时预览文件,按下Enter便打开文件基于各种各样的美好特性, 我选择了lightweight and cross-platform的Sublime而不是臃肿的IDE如Eclipse(Pydev)

在Subliime中配置python2和python3的编译

在菜单栏中选择Tools>Build System>New Build System,打开文件后将如下的Json代码复制进去,并保存在默认路径,名为Python2&3.sublime_build

{    "cmd": ["C:/Anaconda2/python.exe", "-u", "$file"],    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",    "selector": "source.python",    "encoding": "cp936",    "variants":    [        {            "name": "Python3",            "cmd": ["C:/Anaconda3/python.exe", "-u", "$file"]        }    ]}

保存好了以后便如下图所示:
这里写图片描述
做一个测试,代码如下:

# encoding:utf-8a = 1 / 3print(a)

按下Ctrl+Shift+B:
这里写图片描述
选择默认的选项则会以python2的方式运行,结果如下:

0[Finished in 0.1s]

选择python3的选项,结果如下:

0.3333333333333333[Finished in 0.1s]

安装相关的插件支持

Anaconda

Anaconda 是一个终极 Python 插件。它为 ST3 增添了多项 IDE 类似的功能,例如:
Autocompletion 自动完成,该选项默认开启,同时提供多种配置选项。
Code linting 使用支持 pep8 标准的 PyLint 或者 PyFlakes。因为我个人使用的是另外的 linting 工具,所以我会在 Anaconda 的配置文件 Anaconda.sublime-settings 中将 linting 完全禁用。操作如下: Sublime > Preferences > Package Settings > Anaconda > Settings – User: {“anaconda_linting”: false}
McCabe code complexity checker 让你可以在特定的文件中使用 McCabe complexity checker. 如果你对软件复杂度检查工具不太熟悉的话,请务必先浏览上边的链接。
Goto Definitions 能够在你的整个工程中查找并且显示任意一个变量,函数,或者类的定义。
Find Usage 能够快速的查找某个变量,函数或者类在某个特定文件中的什么地方被使用了。
Show Documentation: 能够显示一个函数或者类的说明性字符串(当然,是在定义了字符串的情况下)

Djaneiro

Djaneiro 支持 Django 模版和关键字高亮以及许多实用的代码片(snippets)功能。其中的 snippets 绝对是省时神器。你可以通过很少几个关键字就能创建许多常见的 Django 代码块比如 templates,models,forms,以及 views。请查看官方文档获取 snippets 列表。
我个人非常喜欢的以下两个用于创建 template 的代码片:输入 var 就可以新建 {{ }},而输入 tag 就能新建 {% %}。

requirementstxt

Requirementstxt 可以为你的 requirements.txt 文件提供自动补全,语法高亮以及版本管理功能。

SublimeLinter

SublimeLinter 是 ST3 的一个代码静态检查工具框架(linter)。这个插件本身来说并不包含任何的一个 linter,但是你可以通过在 Package Control 中输入 SublimeLinter-[linter_name] 的方式来安装一个 linter。你可以点击这里查看官方的 linter。同时你还可以在 Package Control 中查看到许多的第三方 linter。请点击这里查看安装说明。对于 Python 的代码静态检查器,我建议使用 SublimeLinter-pyflakes 和 SublimeLinter-pep8。与此同时,我也会使用 SublimeLinter-jshint, SublimeLinter-pyyaml, SublimeLinter-csslint,SublimeLinter-html-tidy,以及 SublimeLinter-json。
以上大多数的 linter 都需要先安装一些依赖库才能使用,所以在安装前请务必阅读他们的安装说明。

你可以通过修改用户自定义的 SublimeLinter.sublime-settings 文件来对你的每个 linter 个性化:Sublime Text > Preferences > Package Settings > SublimeLinter > Settings – User. 例如我通过以下代码来忽略 pep8 中的错误和警告:

"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": ""},

Python PEP8 Autoformat

代码不规范时会在前面显示一个红色的小灯笼,每次运行会提示你怎么修改
保存代码的时候也会提示不规范的地方
Ctrl + Alt + Shift + 8 提示修改
Ctrl + Alt + Shift + 9 提示修改下一个错
当一行代码太长时,会提示,所以修改一下默认的代码行长度就行了Preferences -> Package Settings -> Flake8Lint -> Settings-Default

Python Flake8Lint

代码不规范时会在前面显示一个红色的小灯笼,每次运行会提示你怎么修改
保存代码的时候也会提示不规范的地方
Ctrl + Alt + Shift + 8 提示修改
Ctrl + Alt + Shift + 9 提示修改下一个错
当一行代码太长时,会提示,所以修改一下默认的代码行长度就行了Preferences -> Package Settings -> Flake8Lint -> Settings-Default

Pylinter

这个插件提供了目前我所见到的最好的 pylint 编辑器整合。它自动检查 .py 文件,无论其何时被保存,并且会直接在编辑界面显示 pylint 违规。它还有一个快捷方式来禁用局部的 pylint 检查,通过插入一个 #pylint: 禁用注释。这个插件对于我确实非常有用。

0 0