多個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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM