使用 pyenv 管理不同的 Python 版本

前言:  

  安装不同版本的 Python 版本不是一件容易的事 ,在不同的python版本之间来回切换更加困难,而且,多版本并存非常容易互相干扰,因此我们需要一个名为pyenv的工具,pyenv 是python 版本管理工具,能够进行全局的python版本切换,也可以为单个项目提供对应的python 版本,使用pyenv以后,可以在服务器安装不同的python版本,也可以安装不同的python实现。

 

1、pyenv 的安装:

  我们直接从github下载项目到本地,然后,分别执行以下命令进行安装即可:

   $ git clone https://github.com/yyuu/pyenv.git  ~/.pyenv
  
  $ echo 'export PYENV_ROOT="$HOME/ .pyenv"' >> ~/.bash_profile
  $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
  $ echo 'eval " $( pyenv init -) "' >> ~/.bash_profile
  $ source ~/.bash_profile

2、pyenv 的使用:

  我们通过pyenv的install 命令,可以查看pyenv当前支持哪些python 版本:

  

$ pyenv install --list
Available versions:
  2.1.3
  2.2.3

  使用pyenv 安装不同的 python 版本:

pyenv install -v 3.6.0
pyenv install v 2.7.13

      查看当前系统中包含的python 版本:

$ pyenv versions
  system
  3.6.0
* 3.6.5 (set by /home/ops/mypy/.pyenv/version)

  通过pyenv global  选择 不同的python 版本:

python global 3.6.0

  如果想要删除python 版本,使用uninstall 即可:

pyenv uninstall 2.7.13、使用 virtualenv 管理不同的项目 

virtualenv 本身是 一个独立的项目 , 用以隔离不同项目的 工作环境 。
  需要注意 pyenv 和 virtualenv 的区别 。 pyenv 用以管理不同的 Python 版本 , 例如,你的系统工作时使用 Python 2.7.13 , 学习时使用 Python 3.6.0 。 virtualenv 用以隔离项 目的工作环境,例如,项目 A 和项目 B 都是使用 Python 2.7.13 ,但是 ,项目 A 需要使用 Flask0.8 版本,项目 B 需要使用 Flask 0.9 版本 。 我们只要组合 pyenv 和 virtualenv 这两个工具,就能够构造 Python 和第三方库的任意版本组合,拥有很好的灵活性,也避免了项目 之间 的相互干扰 。virtualenv 本身是一个独 立 的 工具,用户可以不使用 pyenv 而单独使用 virtualenv 。 但是 ,如果你使用了 pyenv ,就需要安装 pyenv-virtualenv 插件,而不是通过 virtualenv 软件使用 virtualenv 的功能 。


4. pyenv-virtualenv 的安装

$ git clone https://github.com/yyuu/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
$ echo 'eval " $( pyenv virtualenv-init - ) "' >> ~/.bash_profile
$ source
~/.bash_profile
$ pyenv help virtualenv

5、pyenv-virtualenv 的使用:

$ pyenv virtualenv 2.7.13 first_project
$ pyenv virtualenv 2.7.13 second_project
# 可以使用 virtualenvs 子命令查看工作环境:
$ pyenv virtualenvs
# 创建完作环境以后,可以通过 activate 和 deactivate 子命令进入或退出 作环
进入工作环境以后,左边的提示符会显示你当前所在的工作环境,以免因为环境太多
导致操作错误 $ pyenv activate first_project
(first_project) $ pip install flask==0.8
(first_project) $ pyenv deactive
#如果想要删除虚拟环境,则使用
pyenv virtualenv-delete first_project







 






 

 

 

 

posted on 2019-08-05 11:23  狂奔中社会主义酸菜  阅读(155)  评论(0编辑  收藏  举报

导航