在ubuntu下使用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
- pyenv可以帮助你在同一开发机上搭建多个版本的python环境, 并进行方便的切换;
- virtualenv则可以将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
大体过程:首先用pyenv 安装多个python 版本, 比如安装了2.7, 3.6 等多个版本,用户可以随意切换当前默认的python版本。 但这时候, 每个版本的环境仍是唯一的, 如果我们想在环境中安装一些库的话, 还是会导致这多版本的环境被修改。 这个时候, 如果我们用virtual env去建立虚拟环境, 就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序, 都不会影响已安装版本的系统环境。
安装步骤
1. 安装pyenv
首先安装curl与git:
sudo apt-get install curl git-core
接下来安装pyenv:
curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
这个命令会把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
切换回系统版本:
pyenv global system
卸载某个版本的python:
pyenv uninstall 3.6.0
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/