今天一不小心又把ubuntu系统给完坏了,因为我把python3卸载了,然后就。。。好了,不废话了,接下来就说一下如何在ubuntu下管理python的多个版本。我这里使用的是一个叫pyenv的Python版本管理工具。
系统环境:ubuntu14.04LTS,系统默认的python版本为2.7,我这里想要再安装一个3.4.3版本。
- 再安装python之前,我们首先要安装这个管理工具pyenv:
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ exec $SHELL -l
我们还可以通过下面这个命令来查看可以安装的python版本:
$ pyenv install --list
- 如果我们确定要安装python3.4.3的话,接下来我们就可以安装python了,但是再安装之前,我们必须要安装python所需要的依赖包,这个必须要安装,安装会失败的:
$ sudo apt-get install libc6-dev gcc
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
- 上面的依赖包搞定之后,我们就可以安装python了:
$ pyenv install 3.4. -v
该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包滞后重新执行该命令。
- 安装完成之后,需要使用如下命令对数据库进行更新:
$ pyenv rehash
- 查看当前已经安装的python版本
$ pyenv versions
* system (set by /home/seisman/.pyenv/version)
3.4.
其中星号代表是当前系统正在使用的python版本是系统自带的。
- 设置全局的python版本
$ pyenv global 3.4.
$ pyenv versions
system
* 3.4. (set by /home/seisman/.pyenv/version)
从上面,我们可以看出来当前的python版本已经变为了3.4.3。也可以使用pyenv local或pyenv shell临时改变python的版本。
- 确认python版本
$ python
Python 3.4. (default, Apr , ::)
[GCC 4.8.] on linux
Type "help", "copyright", "credits" or "license" for more information.
注意事项:
- 输入python即可使用新版的python;
- 系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
- 使用pip安装第三方模块时会安装到~/.pyenv/versions/3.4.3下,不会和系统模块发生冲突;
- 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。
参考资料: