多个Python版本的管理

前言

最近需要用到Locust(一套ython编写的测试框架)来进行测试工作,发现新的版本只支持3.x版本的python,而我们使用的CentOS7只安装了python2.7版本,直接对python版本进行升级比较麻烦,于是使用pyenv来实现python的多版本管理,在此简单记录。

正文

什么是pyenv

pyenv是一个简单的python版本管理工具,遵循UNIX设计传统,即一个工具做好一件事,项目最早是从ruby的相项目fork过来的,后续对python进行了适配。
From: https://github.com/pyenv/pyenv

安装方式

From: https://github.com/pyenv/pyenv-installer

使用pyenv安装python3.7

本质上pyenv也是把python源码包下载并编译,所以需要事先安装编译需要用到的依赖:

yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install libffi libffi-devel
pyenv install 3.7.3
安装完成的使用

查看pyenv管理了几个版本:

# pyenv versions
* system (set by /root/.pyenv/version)
  3.7.3

为当前终端切换版本:

[root@VM-8-74-centos ops]# pyenv local 3.7.3
[root@VM-8-74-centos ops]# python
Python 3.7.3 (default, Jul 20 2020, 16:21:50)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

为所有终端切换版本:

[root@VM-8-74-centos ops]# pyenv global 3.7.3
[root@VM-8-74-centos ops]# python
Python 3.7.3 (default, Jul 20 2020, 16:21:50)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

使用环境变量在当前终端临时切换版本

export PATH=/root/.pyenv/versions/3.7.3/bin/:$PATH
安装pipenv

和pyenv相搭配的,还可以安装pipenv,可以为pyenv环境安装相应的包

pip install pipenv
原文地址:https://www.cnblogs.com/alexguome/p/13346401.html