用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。
virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
首先我们可以用pyenv 安装多个python 版本, 比如安装了2.5, 2.6, 3.3 三个版本。 用户可以随意切换当前默认的python版本。 但这时候, 每个版本的环境仍是唯一的, 如果我们想在环境中安装一些库的话, 还是会导致这个版本的环境被修改。 这个时候, 如果我们用virtual env去建立虚拟环境, 就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序, 都不会影响已安装版本的系统环境。
###步骤####
1.安装pyenv
首先安装curl与git:
sudo apt-get install curl git-core
接下来安装pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
这个命令会把pyenv安装到当前用户的 ~/.pyenv目录下。同时, 我们还需要把下面代码存到~/.bashrc文件中:
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"
fi
这段代码的作用主要是指明pyenv的位置, 以便以后可以直接在命令行里面运行pyenv命令。 保存在~/.bashrc 文件中是为了每次用户登陆后自动生效。
所以如果你是第一次运行命令并且没有注销的话, 这一段是不会生效的, 我们还需要运行下面的命令令其生效:
source ~/.bashrc
注:如果此处出现错误,可以尝试不修改bashrc文件,改为修改zshrc文件并source激活。
2.安装一些包
(可选)安装一些后期python可能依赖的包
sudo apt-get build-dep
3.安装某一个版本的python
首先我们可以查看一下有哪些版本的python 可以安装:
pyenv install --list
安装样例:
pyenv install 3.6.0
安装完毕后, 我们可以查看安装的情况:
pyenv versions
4.切换python版本
切换全局python环境:
pyenv global 3.6.0
同理, 我们可以继续用python global在各个版本之间进行切换, 如果要切换回系统版本, 请用:
pyenv global system
如果要卸载某个版本的python, 可以这样:
pyenv uninstall x.x.x
5.利用virtualenv创建虚拟python环境
创建一个python3.6.0的虚拟环境:
pyenv virtualenv 3.6.0 env360
这条命令在本机上创建了一个名为env360的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的 ‘3.6.0’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。
6.切换和使用新的python虚拟环境
切换到新的虚拟环境的命令为:
pyenv activate env360
如果要切换回系统环境, 运行这个命令即可:
pyenv deactivate
删除这个虚拟环境:
rm -rf ~/.pyenv/versions/env360/