centos7下安装并配置pyenv多版本管理python3.7+

centos7下安装并配置pyenv多版本管理python3.+

目录

一、简介
二、安装pyenv和python
三、配置pyenv多版本控制

一、简介

1、简介

pyenv作为常用的python版本管理工具,对开发效率的提升有很大帮助,可以实现在多个版本的Python之间切换,简单实用,并且遵循UNIX的单一用途工具的传统,做的很棒。
ps:pyenv项目是从rebenv和ruby-build分支出来的,并且为Python修改过。

pyenv可以做到:
1、让您基于每个用户更改全局Python版本。
2、为每个项目的Python版本提供支持。
3、允许您使用环境变量覆盖Python版本。
4、一次从多个版本的Python中搜索命令。 这可能有助于使用tox测试Python版本。

与pythonbrew和pythonz相比,pyenv:
1、取决于Python本身。 pyenv是由纯shell脚本制作的。 没有Python的引导问题。
2、需要加载到你的shell中。 相反,pyenv的shim方法通过向$ PATH添加目录来工作。
3、管理virtualenv。 当然,你可以自己创建virtualenv,或者pyenv-virtualenv来自动化该过程。

摘自https://github.com/pyenv/pyenv

2、pyenv工作原理

介绍pyenv工作原理之前必然要先简单介绍一下PATH环境变量的相关知识。
当您运行类似python或pip的命令时,您的操作系统会搜索目录列表以查找具有该名称的可执行文件。此目录列表位于一个名为的环境变量PATH中,列表中的每个目录用冒号分隔:

/usr/local/bin:/usr/bin:/bin

PATH从左到右搜索目录,因此列表开头的目录中的匹配可执行文件优先于最后的另一个目录。在这个例子中,该 /usr/local/bin目录将首先搜索,然后/usr/bin,然后/bin。

pyenv的工作原理是在原有的PATH变量搜索目录的前面 插入一个shim目录PATH:

$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin

通过一个名为rehashing的进程,pyenv在该目录中维持shims程序,以匹配每个已安装的Python-python,pip等版本的每个Python命令。
shims是轻量级可执行文件,只需将命令传递给pyenv即可。 所以安装了pyenv后,当你运行pip时,你的操作系统会执行以下操作:

在PATH中搜索名为pip的可执行文件
在PATH的开头找到名为pip的pyenv shim
运行名为pip的shim,然后将命令传递给pyenv

综合上述:pyenv使用注入到PATH中的SHIM程序可执行文件拦截Python命令,确定应用程序指定了哪个Python版本,并将命令传递给正确的Python安装。

而PATH变量在开机或者登录用户时会自动加载,加载顺序一般为/ect/profile -> /ect/profile.d/*.sh -> /ect/profile.d/lang.sh -> /ect/sys config/i18n -> ~/.bash_profile -> ~/.bashrc -> ~/ect/bashrc

二、安装pyenv和python

1、安装git

$ yum install git -y # 使用yum安装,可以看到如下代码;

Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.163.com
 * updates: mirrors.cn99.com
base                                                                                               | 3.6 kB  00:00:00     
extras                                                                                             | 3.4 kB  00:00:00     
updates                                                                                            | 3.4 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                                      | 166 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                                                  | 215 kB  00:00:00     
(3/4): base/7/x86_64/primary_db                                                                    | 6.0 MB  00:00:01     
(4/4): updates/7/x86_64/primary_db                                                                 | 7.4 MB  00:00:16     
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.3.1-19.el7 will be updated
--> Processing Dependency:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值