pyenv是一个能简易地在多个Python版本中进行切换的工具,它简单而优雅。

pyenv有以下功能:

进行全局的Python版本切换

为单个项目提供对应的Python版本

使用环境变量能让你重写Python版本

能在同一时间在不同版本间进行命令搜索

拥有以下特点:

只依赖Python本身

将目录添加进$PATH即可使用

能够进行virtualenv管理

软件常用的一些命令:

pyenv version #显示当前使用的Python(星号后面的)

pyenv which python #显示当前Python的安裝路径

pyenv global #设置默认的Python版本

pyenv rehash #更新数据库

pyenv local

在当前路径创建一个.python-version,以后进入这个目录自动切换为该版本

pyenv shell

在当前shell的session中启用某个Python版本,优先级高于global,local

实验流程:

一、首先安装GIT软件

因为我们要用它从github上下载pyenv软件,所以我们首先的确保我们已经安装了git软件

yum install -y git

二、从GitHUB下载pyenv软件

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

三、环境配置,重要!!!

echo ‘export PYENV_ROOT=”$HOME/.pyenv”’ >> ~/.bashrc

echo ‘export PATH=”PYENVROOT/bin:PYENV_ROOT/bin:PATH”’ >> ~/.bashrc

echo ‘eval “$(pyenv init -)”’ >> ~/.bashrc

exec $SHELL -l

四、python以来的包安装

yum install readline readline-devel readline-static openssl openssl-devel openssl-static

bzip2-devel bzip2-libs sqlite-devel -y

执行上面的yum安装就行了。

五、我们要知道centos6.5的系统自带的是python2.6.6,下面我用pyenv这个软件下载python3.4.1.

pyenv install 3.4.1 -v

你肯定想知道上面的操作究竟做了什么?

答案:该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包后重新执行该命令。

ps:所以你明白安装依赖包有多么重要了!

六、更新数据库

pyenv rehash

七、查看当前已安装的python软件版本

1、[root@real_server01 ~]# pyenv versions

  • system (set by /root/.pyenv/version) #默认指向我们系统自带的python,也就是python2.6.6

    3.4.1

2、[root@real_server01 ~]# python

Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) #可以看到这里是我们系统原来的2.6.6

[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

八、修改我们全局使用的python,这里我把全局的python改成我们刚才下载的python3.4.1

1、把全局的python改成3.4.1

[root@real_server01 ~]# pyenv global 3.4.1

2、查看已安装的python

[root@real_server01 ~]# pyenv versions

system

  • 3.4.1 (set by /root/.pyenv/version) #可以看到星号移到下面了。

3、这个时候查看python的版本。

[root@real_server01 ~]# python

Python 3.4.1 (default, Mar 26 2016, 22:30:47) #可以看到python的版本号已经变成3.4.1了

[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux

Type “help”, “copyright”, “credits” or “license” for more information.

九、使用pip安装image模块,我以前在python2.6.6下面安装的话老是出现问题

[root@real_server01 ~]# pip install image

[root@real_server01 ~]# python

Python 3.4.1 (default, Mar 26 2016, 22:30:47)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux

Type “help”, “copyright”, “credits” or “license” for more information.

import image

ps:pip相信大家都知道,是python的包管理工具,可以方便我们下载我们需要的一些python模块。

可以看到我们成功的安装了image模块

使用 pip 安装第三方模块时会安装到 ~/.pyenv/versions/3.4.1 下,不会和系统模块发生冲突。

使用 pip 安装模块后,可能需要执行 pyenv rehash 更新数据库;

[root@real_server01 ~]# pyenv rehash

上面的就是我们常见的的使用!!!你可以在一台主机上面安装多个python版本我们可以在不同版本之间切换!

python多版本控制操作方法相关推荐

  1. python对文件的读操作方法有哪些-Python文件常用操作方法

    Python文件常用操作方法 一.对File对象常用操作方法: file= open(file, mode='r', buffering=-1, encoding=None, errors=None, ...

  2. 使用pyenv进行Python多版本控制

    使用pyenv进行Python多版本控制 多Python版本共存的问题 想要让多个Python版本共存,我们想到的方法有如下两种: - 编译安装新版本至某一个路径 - 多版本python管理工具 如果 ...

  3. python降版本的影响_降低python版本的操作方法

    降低python版本的操作方法 最近在下载tensorflow的时候出现了如下图所示的情况:Could not find a version that satisfies the requiremen ...

  4. python字典常用操作方法,python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  5. python十大操作方法_python最佳入门教程(19): 列表操作方法

    1 教程引言 本教程基于python3.x, 是针对初学者的一系列python入门教程,在知乎上常有人问我计算机该怎么学,如何自学编程,笔者也是通过自学编程而进入IT这一行业的,回顾入行的这几年,从音 ...

  6. Python字典常见操作方法 【增加、删除、修改】

    字典的常见操作无非就是增删改查而已,现在了解下关于字典增删改的操作方法.字典的语法和前面其他学过的数组都不同,大括号里面的数据是以键值对的形式出现的,不支持下标查找,支持key查找. 一.字典 - 新 ...

  7. python列表的操作方法_Python 列表(List)操作方法-经管之家官网!

    本文主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等, 下列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有 ...

  8. Python字典常见操作方法 - 增加、删除、修改

    字典的常见操作无非就是增删改查而已,现在了解下关于字典增删改的操作方法.字典的语法和前面其他学过的数组都不同,大括号里面的数据是以键值对的形式出现的,不支持下标查找,支持key查找. 一.字典 - 新 ...

  9. 不是python对文件的读操作方法的是-python的文件操作方法

    python中的文件对象: 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文 件". 一旦设置了合适的"钩子", 你就可以访 ...

最新文章

  1. css 盒模型的属性
  2. 李洋疯狂C语言之关于自增自减遇到的一些问题
  3. w7电脑蓝屏怎么解决_怎么解决0x0000007b电脑蓝屏 解决0x0000007b电脑蓝屏方法【详细步骤】...
  4. To disable deprecation,,use _CRT_SECURE_NO_WARNINGS
  5. xampp启动Apache报错 1、Error: Apache shutdown unexpectedly. 2、Unclean shutdown of previous Apache run?
  6. COJS 1752. [BOI2007]摩基亚Mokia
  7. 浅析RTB和RTA(三)
  8. Unity 2D摄像机跟随角色移动
  9. 软件测试测试用例编写 不超过7步骤_软件测试(功能、接口、性能、自动化)详解...
  10. maven命令行创建项目,提示java.lang.NoClassDefFoundError: org/apache/maven/shared/invoker/MavenInvocationExcept
  11. Landsat 8数据介绍
  12. C盘快满了,处理一下pagefile.sys文件和hiberfil.sys文件
  13. javase核心day13
  14. 彻底删除GitHub仓库的某个文件或文件夹及其历史记录
  15. [自动驾驶]高德的高精度地图
  16. c语言心得100,c语言课程设计心得体会
  17. Redis基本数据结构
  18. H3C静态路由与BFD联动(单跳检测)配置案例
  19. Linux---/proc目录全讲解
  20. 普元 AppServer 7.0 执行startServer.cmd启动,命令行一直启动中,server.log报错:com.primeton.appserver.l7e.exception.Impr

热门文章

  1. 地表上最强编程语言——C语言
  2. 程序员工资虽高,但也很苦逼!
  3. 计算机二级c语言公共基础知识(免费的) 百度云,计算机二级c语言公共基础知识(免费的).doc...
  4. linux性能调优干货,【干货分享】详解Linux性能调优之tuned特性
  5. c语言数组如何把一串数字存入数组_C语言经典编程题(下)
  6. 推荐北大饶毅教授的《生物学概念与途径》课程(慕课视频+讲义)
  7. 45:十进制到八进制(OpenJudge在线题库 :NOI / 1.13编程基础之综合应用)
  8. Python报错SyntaxError: (unicode error) ‘utf-8‘ codec can‘t decode byte 0xc5 in position 0: invalid
  9. ios开发跳转safari_iOS 跳转网页的四种方法
  10. mfc 添加 excel类给定关键字不在字典中_pyppeteer最为核心类Page的接口方法