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
相關文章
相關標籤/搜索