pyenv 管理多python版本

, Read in about 2 min

Posted by Ryen on Tuesday, September 22, 2020
With final update in December 26,2023

本文总阅读量
  • 概述
  • 安装 pyenv
  • 一些常用命令
  • 管理虚拟环境
  • Reference

概述

在 Python 的世界中目前存在 Python 2 和 3 两个版本,虽然只有两个版本但是,版本之间还是有很多差别的,所以很难兼容,一般成熟的库都会支持两个版本,但是,在一个机器上维护多个版本的 Python 是件麻烦事,pyenv 的出现让这个麻烦事变得非常容易,本文将讲解如何在 Ubuntu 中安装 pyenv 以及使用 pyenv 管理多套 python 环境。

安装 pyenv

这里使用的是普通的用户,所以安装的时候是用 sudo 的,如果使用的 root 用户的话,需要确保你以后也是以 root 用户使用 pyenv,因为第三行和第四行是设置 pyenv 的 ROOT 目录的。

[root@liqiang.io]# apt-get install git python-pip make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev

一些常用命令

查看当前 pyenv 管理的版本

[root@liqiang.io]# pyenv versions

查看可安装的所有版本

[root@liqiang.io]# pyenv install --list

安装指定版本的 python

假设我希望安装 python 2.7.11 版本,那么直接敲这条命令即可:

[root@liqiang.io]# pyenv install 2.7.11

安装完成之后需要对数据库进行更新:

[root@liqiang.io]# pyenv rehash

设置全局的 python 版本

现在也只是 pyenv 管理了一些 python 版本,如果我们需要直接使用 python 命令来使用指定版本的 python,那么需要使用 pyenv 设置全局的 python 版本,设置命令为:

[root@liqiang.io]# pyenv global 2.7.11

然后使用再敲一次命令pyenv versions 将会看到指定版本前面有个 * 号。

[root@liqiang.io]# pyenv global 2.7.11

然后可以使用 python version 确认 python 版本:

[root@liqiang.io]# python --version

管理虚拟环境

在没有使用 pyenv 的时候,我们会使用 virtualenv 来管理包,但是,当我们使用了 pyenv 后,默认的 virtualenv 就不起作用了,因此,我们需要使用 pyenv 的扩展插件 pyenv-virtuanenv。但是我更习惯使用 virtualenvwrapper,所以这里安装是 virtualenv 的扩充版本 virtualenvwrapper。

其实在之前的安装步骤,我们也已经安装上去了,所以下面直接使用即可。

创建虚拟环境

  1. 启动 pyenv-virtualenvwrapper
    1. [[root@liqiang.io](mailto:root@liqiang.io)]# pyenv virtualenvwrapper
  2. 创建虚拟环境
    1. [[root@liqiang.io](mailto:root@liqiang.io)]# mkvirtualenv test
  3. 安装依赖包
    1. [[root@liqiang.io](mailto:root@liqiang.io)]# pip install ipython
  4. 验证版本
    1. [[root@liqiang.io](mailto:root@liqiang.io)]# ipython

然后会看到提示信息:

[root@liqiang.io]# ipython

这里是 python 3.5.2 ,没错,所以表示 virtualenvwrapper 切换成功,我们可以使用 python 3.5.2 进行一些实验了开发了。

Reference

「真诚赞赏,手留余香」

Ryen's Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付