最近准备着手新的Django项目,想着建立新的virtualenv开发环境,再又考虑到尝试使用Python3+的可能,google了一些MAC上建立多版本Python开发环境的文章,尝试了一些新东东,和大家分享。
不要覆盖系统自带的Python版本!
MAC系统本身自带有Python库,且和系统集成度较高,为系统稳定考虑,无特殊需求不要覆盖系统自带的Python库。
若有疑问可google各种覆盖系统带来的奇葩问题。
配置栈
1. Xcode Command Line Tools
这是MAC开发上必备的工具库,提供gcc/llvm编译库及工具,没有这个是无法在MAC上编译相关程序的。如果MAC没做过开发机或新升级,请安装更新该工具库。
可在developer.apple.com登录后下载安装包安装,或在app store下载xcode安装,或运行下面命令行尝试安装
$ xcode-select --install
检查安装是否成功
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer #显示此结果则说明已安装成功
或运行gcc查看工具版本
$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
特别声明,若你有靠谱VPN,下面请全程开启……
2. MAC下软件包安装管理工具brew(ruby)
MAC下软件包安装管理工具常用 MACports / brew,两者优劣如何选择请自行google判断,这里用的是brew。
由于brew是基于ruby开发,因此需要基本的ruby环境。如果你对ruby开发相关毫无兴趣,可通过Ruby官网下载包直接安装。若有可能使用ruby开发或尝试ruby环境下的各种程序请使用更规范的ruby环境配置程序——rvm。
$ curl -sSL https://get.rvm.io | bash
$ source ~/.rvm/scripts/rvm
检查是否安装正确
$ rvm -v
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
安装最新的ruby版本
$ rvm install 2.2.1
设置默认版本
$ rvm 2.2.1 --default
检查下
$ ruby -v
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]
安装brew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
3. 安装 pyenv
pyenv是管理Python版本安装管理工具
$ brew install pyenv
将下面代码加入shell启动脚本 .bash_profile / .zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
重启shell
$ exec $SHELL
安装管理多版本Python常用操作
$ pyenv install --list # 查看可安装版本
$ pyenv install 2.6.9
$ pyenv install 2.7.9
$ pyenv install 3.4.3
$ pyenv versions
* system (set by /Volumes/Home/linnchord/.pyenv/version)
2.6.9
2.7.9
3.4.3
$ pyenv uninstall 2.6.9 # 移除
$ pyenv global 3.4.3 # 设置为全局,覆盖系统,慎用!
$ pyenv global system # 恢复系统版本
$ pyenv local 3.4.3 # 设置当前目录生效Python版本
$ pyenv local --unset # 取消
$ pyenv rehash # 安装新版本或其他软件包后需运行
$ pyenv shell 3.4.3 # 设置当前脚本生效版本
4. 安装 pyenv-virtualenv
pyenv-virtualenv 是作为 pyenv 一个插件存在的虚拟环境管理工具,它统一将虚拟环境配置到 ~/.pyenv/versions。
$ brew install pyenv-virtualenv
将下面代码加入shell启动脚本 .bash_profile / .zshrc
eval "$(pyenv virtualenv-init -)"
重启shell
$ exec $SHELL
常用管理操作
$ pyenv virtualenv 3.4.3 env343
$ pyenv virtualenv 2.7.9 venv279
$ pyenv virtualenvs # 显示当前虚拟环境列表
env279 (created from $HOME/.pyenv/versions/2.7.9)
env343 (created from $HOME/.pyenv/versions/3.4.3)
$ ls ~/.pyenv/versions
2.7.9 3.4.3 env343 venv279
$ pyenv activate env343 # 激活指定虚拟环境
$ pyenv deactivate # 关闭当前虚拟环境
$ pyenv uninstall env343 # 删除
5. 开发流程
$ pyenv virtualenv 3.4.3 newproject
$ pyenv activate newproject
$ pip install -r reuirements.txt
$ mkdir newproject
$ cd newproject
Code lucky!