目前大家在配置服务器的python服务,尤其是在服务器多用户共用的时候会遇到多个版本python共存,第三方包管理混乱的情况。现在给大家推荐一个python沙盒环境。pyenv.
pyenv来自https://github.com/yyuu/pyenv。
首先我们需要安装它,实际上他有一个快捷的安装方式参见https://github.com/yyuu/pyenv-installer
第一步:在自己的用户目录下执行:
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
会在自己的用户目录生成一个隐藏的.pyenv目录,里面除了安装了pyenv本身还有一些跟他相关的工具,比如pyenv-doctor等等,在之后的操作上会变得非常方便。
第二步:在上述运行完之后通常在命令行中会提示:
Seems you still have not added 'pyenv' to the load path:
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"
fi
把上述语句添加到~/.bashrc中, source ~/.bashrc使之生效,这样我们的pyenv算是初步安装成功了。
第三步:安装自己需要的python版本
这里我们需要2.7.6 直接运行 pyenv install 2.7.6。 于是他就去下载了,看起来yyuu自己提供了一个下载地址,挺到位的,但是国内网络访问实在有点慢。
第四步:初始化一个python沙盒环境
这里会用到他的一个plugin:virtualenv
使用你刚装上的python版本建立一个沙盒环境:pyenv virtualenv 2.7.6 py2. 它会自己检测发现你没有装virtualenv然后去下载一个。下面就是如何使用他了在~/.pyenv/versions目录下你可以看到两个文件夹:2.7.6和py2, 进入py2里面有个bin目录,执行. ~/.pyenv/versions/py2/bin/activate 你会发现命令行左边多了一个(py2)说明这个沙盒环境已经被启用了,之后可以通过alias配置到.bashrc里。使用deactivate可以退出这个环境。
最后:当你处于这个沙盒环境之后,直接执行pip安装你所需要的lib吧。 比如pip install tornado跑完之后,他就安静地躺在~/.pyenv/versions/py2/lib/python2.7/site-packages里了。
祝大家愉快。