python多版本管理工具--pyenv安装和使用

文章目录

一.Pyenv简介

二.Pyenv的安装

2.1 pyenv安装—在线安装

2.2 pyenv安装—离线安装

三.pyenv常用命令

四.pip包管理

一.Pyenv的简介:

在开发Python程序的时候,有时候可能需要在不同版本的Python上进行测试。pyenv就是这么一个管理多版本Python的工具。由于在Windows中我们可以同时安装多个版本的Python,所以这里是在Linux下介绍该工具。使用pyenv可以达到以下效果:

  • 管理Python解释器
  • 管理Python版本--配置当前用户的python的版本;配置当前shell的python版本;配置某个项目(目录及子目录)的python版本
  • 管理Python的虚拟环境--配置多个虚拟环境

1.1工作原理介绍

pyenv是利用系统环境变量PATH的优先级,劫持python的命令到pyenv上,根据用户所在的环境或目录,使用不同版本的python。

how it works:

At a high level, pyenv intercepts Python commands using shim executables injected into your PATH, determines which Python version has been specified by your application, and passes your commands along to the correct Python installation.

对于系统环境变量PATH,里面包含了一串由冒号分隔的路径,例如/usr/local/bin:/usr/bin:/bin。每当在系统中执行一个命令时,例如python 或 pip,操作系统就会在 PATH 的所有路径中从左至右依次寻找对应的命令。因为是依次寻找,因此排在左边的路径具有更高的优先级。在PATH最前面插入一个$(pyenv root)/shims目录,$(pyenv root)/shims目录里包含名称为python以及pip等可执行脚本文件;当用户执行python或pip命令时,根据查找优先级,系统会优先执行shims目录中的同名脚本。pyenv正是通过这些脚本,来灵活地切换至我们所需的Python版本。

二.Pyenv的安装

2.1 pyenv安装—在线安装

1) 安装git

# yum -y install git

2) 安装python编译依赖环境

# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

3) 创建普通用户python

# useradd python

4) 使用普通用户python登录后安装pyenv

# su - python   #切换到python用户进行pyenv的安装

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

安装完成后,输出如下:

5) 加载pyenv

根据上面的提示将指定内容填入.bashrc文件中,并刷新文件使之生效

$ cat >> .bashrc << OVER

> export PATH="/home/python/.pyenv/bin:$PATH"

> eval "$(pyenv init -)"

> eval "$(pyenv virtualenv-init -)"

> OVER

$ source  .bashrc

#这样当用户每次登录的时候,都会执行用户的.bashrc中的脚本,就会启动pyenv。 安装好的pyenv就在~/.pyenv中(当前用户家目录中).

6) 检查安装pyenv结果

7) 注意

l 在 https://github.com/pyenv/pyenv-installer 有安装文档.

l centos6版本:如果curl出现 curl: (35) SSL connect error ,是nss版本低的问题,配置yum源更新它即可。

2.2 pyenv安装—离线安装

首先在能够联网的机器上从github上下载项目:

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

$ git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenvvirtualenv

$ git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenvupdate

$ git clone https://github.com/pyenv/pyenv-which-ext.git ~/.pyenv/plugins/pyenv-which-ext

#可以将克隆的目录打包,方便以后离线使用。

此处我们还是通过普通用户python在另一台干净的机器上做安装测试,此时python用户的家目录信息如下:

将下载好的项目上传到不能联网的机器上的python家目录下,如下:

$ vim ~/.bashrc    #将下面信息手动写入到该文件中


export PATH="/home/python/.pyenv/bin:$PATH"

eval "$(pyenv init -)"

eval "$(pyenv virtualenv-init -)"

$ source  .bashrc

$ pyenv -v  #检查安装情况

三. pyenv常用命令

1) version(s)

$ pyenv version 显示当前的python版本;

$ pyenv versions  显示所有可用的python版本,和当前版本。

2) install—联网安装和不联网安装

$ pyenv install --list # 列出可安装版本,一般列出信息较多,等同于-l

$ pyenv install <version> # 安装对应版本,可使用-v参数查看安装详情

首先检查本地是否有需要安装的软件包,如果没有,就联网下载,如果有,就直接安装。

安装路径文件如下所示,即每次安装的python都在该目录下:

在这个安装过程中,输出的日志信息存放于/tmp目录下,如下

上面的方式是联网安装,我们也可以不联网进行安装,方法如下:

首先在用户目录下的.pyenv目录中新建一个cache目录,将下载好的python包放在该目录中,然后再使用pyenv install +下载好的python版本

将下载好的python-3.8.0*的包放在该目录中,等待调用

3) global、shell、local的区别

global:对当前用户的python环境进行修改,基本不用,当很多同事使用同一用户进行开发时,这样的参数会影响所有同事的开发环境

$ python global 3.8.0:   将当前用户的当前python版本修改成3.8.0,注意当前用户,不是整个系统,即只要是通过该用户登录,python版本都修改成了3.8.0。

使用pyenv  global system可修改回之前的python版本

shell:只是对当前连接的shell进行的修改,不影响其他shell,关掉当前shell重新登录后失效,只要断开当前shell就失效

$ pyenv  shell 3.6.6:  将当前shell使用的python版本修改程3.6.6,退出shell就失效,也不影响其他已经或将要打开的shell

local:对目录使用,即限定当前目录(及其子目录)使用的python版本,较常用

$ pyenv  local 3.8.0: 进入指定目录后,将当前目录的python版本限定为3.8.0

4) virtualenv—创建虚拟环境,安全,独立,隔离性能好--常用

$ pyenv virtualenv 3.6.6 vir3.6.6 通过3.6.6版本创建虚拟环境vir3.6.6

#这种类型感觉是在3.6.6的版本下创建了一个独立的小版本,用户做的所有操作(如安装软件包,开发等)都在虚拟环境中,对3.6.6不产生影响,但又依赖于3.6.6

5) update—pyenv升级

$ pyenv update    #更新pyenv版本

四.pip包管理

pip:是python中常用的软件包管理工具(安装,升级,卸载等),跟使用方法yum类似,命令也类似;通过上面环境的配置,我们查看各自目录中使用的pip其实是各自目录对应python版本的pip,截图如下:

4.1 pip常用命令:

pip --version/-V            显示当前pip版本

pip help [install]            查看install命令的帮助手册

pip install xxx yyy          安装软件包,可以指定版本进行安装

pip download xxx           下载软件包

pip uninstall xxx            卸载软件包

pip list                      查看当前系统上已经安装的软件包

pip list -o                   查看可升级的软件包

pip install -U pip            对pip进行升级操作

pip install --upgrade pip    对pip进行升级操作

pip search xxx              搜索软件包

pip show xxx                显示安装包信息

4.2 pip配置

$ mkdir .pip  #在当前用户家目录中新建.pip目录

$ vim ~/.pip/pip.conf


[globle]

index-url = https://mirrors.aliyun.com/pypi/simple

trusted-host = mirrors.aliyun.com

4.3 pip导出/安装依赖包

$ pip freeze > requirement #导出依赖包

$ pip install -r requirement #安装依赖包

原文地址:https://www.cnblogs.com/scaven-01/p/12388818.html

时间: 2024-10-10 21:42:44

python多版本管理工具--pyenv安装和使用的相关文章

python多版本管理工具pyenv安装

python多版本管理工具pyenv安装 1.作用 管理python解释器.python版本.python的虚拟环境 软件下载地址:https://github.com/pyenv/pyenv 2.pyenv软件包安装 a.配置yum源(配置文件内容如下) vi   CentOS6-Base-163.repo [base] name=CentOS-$releasever - Base - 163.com baseurl=http://mirrors.163.com/centos/6/os/$ba

【Python进阶】03、python多版本管理工具pyenv

一.pyenv介绍         CentOS6系统会自带一个较低版本的python,一般不使用系统自带的python版本,因为系统很多组件依赖于python比如yum,如果我们随意升级或者安装了些有冲突包可能会影响系统环境:我们需要再安装较高版本的python,而且在开发多个项目时,可能需要多个版本的Python,此时在进行Python版本切换时会比较麻烦,pyenv就提供了一种简单的方式. pyenv是一个能简易地在多个Python版本中进行切换的工具,它简单而优雅. 项目地址:https

Python多版本管理软件pyenv的安装应用及pip的使用讲解

近期Comyn老师的Python视频推出之后,大家一直在讨论者pyenv这个软件的应用问题,简单写一篇基本用法,给大家做下简单介绍: 目录: 一.pyenv介绍 二.centos6.4上安装配置pyenv 三.使用pyenv安装python 四.pyenv的基本应用 五.pip安装与配置 六.使用pip安装python相关软件 一.pyenv介绍 项目地址:https://github.com/yyuu/pyenv 关于pyenv的介绍: 一般在操作系统中我们会安装多个Python版本,在*ni

python版本管理工具pyenv和包管理工具pipenv

一.pyenv版本管理工具 pyenv是一个python版本管理工具,可以实现轻松切换多个python版本 它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理virtualenv虚拟环境,可以自己创建virtualenv或者通过pyenv-virtualenv来自动化创建虚拟环境 pyenv通过PATH环境变量来匹配切换python或者pip的工作目录,pyenv通过读取工作环境来指定使用哪个python版本,如在当前会话中查找PYENV_VERSION环

svn版本管理工具的安装及使用

一.实验环境VMware 10.RedHat5.6 1.服务器端:Redhat 5.6 subversion                             i386                      1.6.11-7.el5               subversion-devel                       i386                      1.6.11-7.el5               subversion-javahl     

python的开发工具UliPad安装篇

之前文章里写过一个搭建windows下搭建Selenium+Eclipse+Python环境,现在觉得这个Eclipse太大了,太笨重了,重启又慢,像Python脚本轻级语言,没必要用那么大的工具嘛,是吧,所以今天弄个UliPad来写Python脚本 1)下载:要装软件,咱得首先得下载软件, UliPad官方下载地址 http://code.google.com/p/ulipad/downloads/list 下载合适自己系统的就行了 2)安装前准备:刚刚下载完了,这里来一段小插曲,但很重要哦:

python 工具链 多版本管理工具 pyenv

理解Shims pyenv会在系统的PATH最前面插入一个shims目录: $(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin 通过一个rehashing操作就可以在该目录匹配所有已经安装的不同版本的python命令,比如python, pip等. 所有对Python可执行文件的查找都会首先被这个shims路径截获,后面的设置就不生效了. Installation centos下的依赖 yum install -y gcc readline read

好用的python代码练习工具jupyter-notebook安装及使用

安装环境: 操作系统:Centos7-x86-64minimal 一.安装pyenv pyenv是python的多版本管理器,他能在系统上实现Python的多版本共存,但又不会影响系统自带的python. 安装git  yum -y install git 安装pyenv  git clone git://github.com/yyuu/pyenv.git ~/.pyenv  echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bas

Python 中 pip 工具的安装与使用

pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具. Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具. pip 官网:https://pypi.org/project/pip/ 一.检查 pip 是否安装 可以通过以下命令来判断是否已安装: pip --version 或者 pip -V 示例:(Windows下) C:\Use