安装不一样的python版本并非一件易事,更况且想在同一主机上来回切换不一样版本的python是难上加难!你们都知道多版本会致使互相干扰,可是不是不不能解决呢??
python
确切回答:不是,由于有一个学习python的好帮手pyenv来管理不一样的python版本!git
1、首先来安装pyenv:github
安装步骤也是很简单,直接在github上下载到本地,而后,分别执行如下命令便可shell
[root@cml_ali_sz_120 ~]# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
[root@cml_ali_sz_120 ~]# echo 'export PYENV_ROOT="$HOME/.pyenv"' >> /etc/profile [root@cml_ali_sz_120 ~]# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /etc/profile [root@cml_ali_sz_120 ~]# echo 'eval "$(pyenv init -)"' >> /etc/profile
使以上配置生效:bash
[root@cml_ali_sz_120 ~]# source /etc/profile
到这里pyenv已经安装完成了,咱们能够经过--help来查看pyenv的用法:app
[root@cml_ali_sz_120 ~]# pyenv --help Usage: pyenv <command> [<args>] Some useful pyenv commands are: commands List all available pyenv commands local Set or show the local application-specific Python version global Set or show the global Python version shell Set or show the shell-specific Python version install Install a Python version using python-build uninstall Uninstall a specific Python version rehash Rehash pyenv shims (run this after installing executables) version Show the current Python version and its origin versions List all Python versions available to pyenv which Display the full path to an executable whence List all Python versions that contain the given executable See `pyenv help <command>' for information on a specific command. For full documentation, see: https://github.com/pyenv/pyenv#readme
2、pyenv的使用:python2.7
首先可使用install命令查看支持python的版本ide
[root@cml_ali_sz_120 ~]# pyenv install --list Available versions: 2.1.3 2.2.3 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.5.1 ...
咱们这里选择了两个版原本测试在同一主机上安装多个版本的python:学习
[root@cml_ali_sz_120 ~]# pyenv install -v 3.6.0 [root@cml_ali_sz_120 ~]# pyenv versions * system (set by /root/.pyenv/version) 3.6.0 [root@cml_ali_sz_120 ~]# pyenv install -v 2.7.13 [root@cml_ali_sz_120 ~]# pyenv versions * system (set by /root/.pyenv/version) 2.7.13 3.6.0
如今咱们这个系统中就有三个python的版本了,下面就是如何去切换版本,注意的是'*'表示当前正在使用的版本。能够经过global切换版本:测试
(这里可能会担忧到的切换版本时,版本所对应的依赖会不会一块儿切换,这个不用惧怕相关的依赖也会跟着切换过来,因此彻底不用去担忧通系统下不一样版本的相互影响,下面演示pip的版本也会随着python版本变动而变动)
[root@cml_ali_sz_120 ~]# pyenv global 3.6.0 [root@cml_ali_sz_120 ~]# pyenv versions system 2.7.13 * 3.6.0 (set by /root/.pyenv/version) [root@cml_ali_sz_120 ~]# pip --version pip 9.0.1 from /root/.pyenv/versions/3.6.0/lib/python3.6/site-packages (python 3.6) [root@cml_ali_sz_120 ~]# pyenv global 2.7.13 [root@cml_ali_sz_120 ~]# pyenv versions system * 2.7.13 (set by /root/.pyenv/version) 3.6.0 [root@cml_ali_sz_120 ~]# pip --version pip 9.0.1 from /root/.pyenv/versions/2.7.13/lib/python2.7/site-packages (python 2.7)
最后切回到系统版本:
[root@cml_ali_sz_120 ~]# pyenv global system
若是想要删除python版本,则可使用uninstall命令便可:
[root@cml_ali_sz_120 ~]# pyenv uninstall 2.7.13