pyenv管理多版本python

安装不一样的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
相关文章
相关标签/搜索