1. 程式人生 > 實用技巧 >多個Python版本的管理

多個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()
安裝pipenv

和pyenv相搭配的,還可以安裝pipenv,可以為pyenv環境安裝相應的包

pip install pipenv