我的MAC系统默认的python是2.7.6, 有点老,现在都在学python3.4以上,所以想装一个3.4的来玩,但是直接改系统默认python又不太清楚会有什么负面影响,所以希望搞一个python的版本管理小程序来帮忙switch version of python。记录如下:
资源:
1. python多版本管理工具 pyenv https://github.com/yyuu/pyenv 支持homebrew,安装很简单。
遇到问题: pyenv shell 命令无效
解决办法: https://github.com/yyuu/pyenv/issues/228 在~/.bash_profile 中添加
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
使用方法很简单,首先通过pyenv安装目标python版本:pyenv install 3.4.0
然后用pyenv local
测试 python --version即可知道peen是否work
2. 配置sublime的默认python编译器
sublime默认使用系统的python,而且sublime和shell不同步环境变量,因此,还需要改一下sublime的配置以达到让pyenv统一管理shell和sublime所使用的python版本。
解决方案:http://blog.sina.com.cn/s/blog_3f6181450102v3mb.html
sublime通过Python.sublime-build文件配置python编译器,这里有几种方式对其进行更改:http://stackoverflow.com/questions/12342004/trouble-setting-python-version-in-sublime-text2
【注】Python.sublime-build文件可通过Preference->Browse Packages...->python目录中找到
或者直接find ~/ -name 'Python.sublime-build' -print 也可查到路径
我选择了第三种方法,配置sublime的python full path:
首先查询pyenv管理的python的路径: which python,
将查询结果复制粘贴到Python.sublime-build文件的cmd参数里:
{
// "cmd": ["python", "-u", "$file"], //原先的sublime默认配置
"cmd": ["~/.pyenv/shims/python", "-u", "$file"], //更改为使用pyenv管理的python版本
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
搞定。