mac sublime anaconda 不能自动补全第三方库

在Mac上使用Sublime Text3配合Anaconda进行Python开发时,遇到自动补全第三方库如xlrd的问题。原因是Sublime调用的Python解释器与Anaconda接管的系统Python不一致。解决方案是修改Sublime的Python解释器路径,使其指向Anaconda的Python环境,以确保Anaconda能正确识别并补全Anaconda环境中的库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

– 生命不息,折腾不止
原先用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是程序员的两大法宝!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值