– 生命不息,折腾不止
原先用Win7下写Python一直用的Sublime Text3,一直用的很顺手,当时电脑里没有单独安装Python,而是安装了Python(x,y),里面带了一个Python,当然最关键的是集成了各种科学计算的包,不用再费力找了,然后sublime的自动补全比较弱,比如numpy包里有array函数,当我们打下numpy.的时候我们希望能自动提示出numpy里面都有什么函数.sublime本身做不到,它只能提示你已经写过的代码,所以我们需要装一个代码提示的插件,从Sublime Text2到3,试过很多插件,要么不给力,要么搞不清楚到底怎么配置,最后觉得最完美的就是anaconda,集成了很多功能,包括代码提示。
后来换了mbp,还是用sublime+anaconda,但是Python(x,y)是只有window版本的,当然OSX下安装包很方便,但还是想有能够集成的,于是就找到了Anaconda,名字和sublime的插件是一样的!我不知道他们是什么关系,从他俩主页上也没看出来。为了方便区分,插件我们就说anaconda,科学计算包我们就说Anaconda。
OSX 是自带Python的,我这个版本是2.7.10,可以在shell里输入which python
来看Python的路径,一般应该是/usr/bin/python
看了网上很多说法,说这个最好不要动,因为系统可能会用到。然后那个Anaconda跟Python(x,y)几乎一样,也是自带一个Python,集成大量的包。安装完Anaconda后,它默认接管了系统的Python,在shell里我们输入which python
后,我的显示/Users/wzd/anaconda/bin/python
,这时我们输入在shell中输入Python,调用的就是Anaconda的Python了。
然后我试了下在sublime写代码,那个numpy也能自动补全,我以为这样整个开发环境就配置完成了,实际上远远不是!当我用xlrd这个库的时候,我发现就不能自动补全了,而在win7时这是可以的。我查了下,发现OSX是自带numpy的!然后我用anaconda的Go to definition功能,发现果然跳转到了系统自带Python那里去了,也就是说,这个时候的anaconda能够对系统自带的库work well,但是对Anaconda的库就不行。我就在我win本上翻江倒海找是不是有什么设置我遗漏了,答案是没有,唯一的区别就是,win上只有一个Python,OSX下有俩。又在anaconda的Github和stackoverflow上翻江倒海,大致捋清了一点思路,anaconda依赖于sublime的Python inerpreter,sublime调用什么Python,anaconda就搜寻这个Python的库。
坑就在这里,sublime调用的Python和shell调用的居然不一样!所以我们就需要更改sublime的Python interpreter。不同环境下使用不同的Python,网上说的挺多了,我也不要求太多版本,我就要能用Anaconda的那个就行。
1.好多人说更改python.sublime-build,我在3下没找到这个东西,当然可以新建一个,但那样就多出来一个解释器,强迫症看着不爽。
2.更改project configuration,sublime的这个project是真坑,之前也没人说project很重要啊,结果我发现很多插件都是在project下才有用的,比如侧边栏增强的那个插件,你的文件要是不在project里,装了跟没装一样。其实我现在也没搞明白这个project的配置,anaconda是推荐在project里配置,这样不同的project有不同的配置,但是我发现在里面写没作用。
3.剩下的就只能改全局配置了,打开anaconda的user配置,我的是这样的
{
"pep8_ignore":
[
"E501",
],
"complete_parameters": true,
"anaconda_linting_behaviour": "save-only",
"anaconda_gutter_theme": "hard",
"anaconda_linter_show_errors_on_save": true,
"python_interpreter": "/Users/wzd/anaconda/bin/python",
"extra_paths":
[
// "/Users/wzd/anaconda/lib/python2.7/site-packages",
// "/Users/wzd/anaconda/lib/"
]
}
那个extra_path并没有什么卵用。至此,终于anaconda正常工作了
最后告诫大家,英语一定要学好,Github和Stackoverflow是程序员的两大法宝!