文档章节

pyenv管理多个Python版本

 编程老陆
发布于 2018/12/30 14:58
字数 558
阅读 85
收藏 2

前言

我们在CentOS上开发或运行Python程序时,很可能会需要使用不同版本的Python,比如本笔记创建时使用的CentOS是7.4版,系统默认安装的python还是2.7.5,而我们自己开发或者部署时需要的是3.x版本。因为操作系统自带的一些python脚本可能使用的还是2.7.5的代码,所以直接升级系统的python显然不是个好选择。而应对这种情况,我们介绍使用pyenv,这是一个python版本管理工具,它可以实现轻松切换多个python版本。

安装pyenv

1、安装依赖的工具和包

$ yum install -y git
$ yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel libffi-devel

2、安装pyenv

pyenv项目官方网址: https://github.com/pyenv/pyenv
官方自动安装工具项目:https://github.com/pyenv/pyenv-installer

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

配置环境变量

修改配置文件~/.bashrc,添加一下内容

export PYENV_ROOT=$HOME/.pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

设置完注销用户,再次登录就会应用。或者使用source .bashrc命令。

pyenv 使用

1、查看pyenv支持安装的python版本

$ pyenv install --list

2、使用pyenv安装特定版本的python

$ pyenv install 3.7.0 -v
$ pyenv rehash

pyenv install的-v参数,表示安装时显示详细信息,3.7.0为版本号。
pyenv rehash 在进行安装删除指定python后使用,更新版本管理数据库

3、查看当前所有已安装的python

$ pyenv versions
 *system (set by /root/.pyenv/version)
  3.7.0

*号表示当前激活的版本

4、当前目录下激活指定的Python版本

$ pyenv local 3.7.0

激活后,在每次进入该目录时会自动切换到指定的版本。如果取消激活则使用--unset参数。

$ pyenv local --unset

5、卸载指定的Python版本

$ pyenv uninstall 3.7.0
$ pyenv rehash

 

© 著作权归作者所有

粉丝 2
博文 68
码字总数 27996
作品 0
闵行
私信 提问
pyenv管理多版本python

安装不同的python版本并不是一件易事,更何况想在同一主机上来回切换不同版本的python是难上加难!大家都知道多版本会导致互相干扰,但是不是不不能解决呢?? 确切回答:不是,因为有一个学...

legehappy
2018/06/14
0
0
Python多版本神器-Pyenv

Python多版本神器-Pyenv 一、简介 使用pyenv可以在一个操作系统上使用多个python版本,自由切换,无比顺畅。它的使用不依赖于Python,是一个简单、独立的纯 shell 脚本工具。 二、Pyenv安装 ...

PowerMichael
2018/06/26
0
0
Windows环境下的Python环境搭建

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/gongxifacaibelieve/article/details/92161861 1、Windows环境下pye...

魏晓蕾
06/15
0
0
Mac OS X下安装pyenv

Pyenv是python的版本管理工具,pyenv之于python相当于rvm之于ruby。 在Mac OS X下,我用homebrew安装pyenv: brew updatebrew install pyenv 安装过程中,遇到了下面这个问题 ERROR: The Pyt...

昊翔
2015/04/11
3.8K
0
Linux 下的 Python 多版本管理(pyenv)

简介 提到 Python 环境管理,更多人可能会首先想到 virtualenv。但与用于创建独立包环境的 virtualenv 不同,pyenv 的作用仅限于维护不同版本的 Python。它的使用不依赖于 Python,是一个简单...

lionets
2014/05/21
33K
3

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部