Python多版本管理器pyenv
01.查看Linux版本
[root@web ~]# cat /etc/redhat-release
CentOS Linux release 7.6. (Core)
[root@web ~]# uname -a
Linux web 3.10.-957.21..el7.x86_64 # SMP Tue Jun :: UTC x86_64 x86_64 x86_64 GNU/Linux
02.安装pyenv
[root@web ~]# curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
03.配置环境变量
[root@web ~]# cd /root
[root@web ~]# cp .bash_profile .bash_profile.bak
[root@web ~]# vim .bash_profile
#pyenv
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
[root@web ~]# source .bash_profile
04.系统自带python版本为2.7.5
[root@web ~]# python -V
Python 2.7.
05.安装的pyenv版本为1.2.15
[root@web ~]# pyenv -v
pyenv 1.2.
06.升级pyenv命令
[root@web ~]# pyenv update
07.查看可用的python版本有哪些
[root@web ~]# pyenv install --list
08.安装python3.6.4、python2.7.2和python3.6.7
[root@web ~]# pyenv install 3.6.
[root@web ~]# pyenv install 2.7.
[root@web ~]# pyenv install 3.6.
09.查看安装的python版本有哪些
[root@web ~]# pyenv versions
* system (set by /root/.pyenv/version)
2.7.
3.6.
3.6.
[root@web ~]#
10.配置root用户的python版本为3.6.4
[root@web ~]# cd /root/
[root@web ~]# pyenv virtualenv 3.6. root364
[root@web ~]# pyenv activate root364
[root@web ~]# pyenv global 3.6.
(root364) [root@web ~]# python -V
Python 3.6.
11.去除当前使用的virtualenv
(root364) [root@web ~]# pyenv deactivate
[root@web ~]#
12.删除某个virtualenv
[root@web ~]# pyenv virtualenv-delete root364
pyenv-virtualenv: remove /root/.pyenv/versions/3.6./envs/root364? y
[root@web ~]#
13.设置/tmp目录的pyenv环境为python3.6.7
[root@web ~]# cd /tmp/
[root@web tmp]# pyenv virtualenv 3.6. tmp367
Looking in links: /tmp/tmpshtqhsk6
Requirement already satisfied: setuptools in /root/.pyenv/versions/3.6./envs/tmp367/lib/python3./site-packages (39.0.)
Requirement already satisfied: pip in /root/.pyenv/versions/3.6./envs/tmp367/lib/python3./site-packages (10.0.)
[root@web tmp]# pyenv activate tmp367
[root@web tmp]# pyenv local tmp367
(tmp367) [root@web tmp]# python -V
Python 3.6.
(tmp367) [root@web tmp]#
在实际的生产环境中,有时候一台机器上面可能需要不同的Python环境,避免每次都要升级或者降级系统自带的Python版本,所以我们使用pyenv来管理不同的Python版本,从而提高效率。
只需要在一台服务上安装好pyenv,再去下载好需要的Python版本和所需要的依赖库,将这个pyenv环境直接打包,批量拷贝到其他服务器,解压即可切换所需要的python版本使用,省去很多琐碎的工作时间。
Python多版本管理器pyenv的更多相关文章
- Python多版本管理器-pyenv 介绍及部署记录
一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...
- 你应该学会的Python多版本管理工具Pyenv
目录 Pyenv 简介 安装pyenv 通过pyenv安装python各种发行版 pyenv命令 多版本Python的管理 Pyenv常见问题Wiki Pyenv 简介 首先,该工具是在类linux环 ...
- centos下python多版本管理(pyenv+python+virtualenv+ipython)
pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...
- python多版本管理包pyenv
前言: CentOS7 默认版本 python2.7.5 ,但是目前项目开发都是在python3的环境下,而单独编译安装python3时会出现各种异常!!! 系统默认python2.7又不能删除,否 ...
- Ubuntu中python多版本管理工具-pyenv
ubuntu系统版本:16.04 # lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubu ...
- Python多版本管理-pyenv
经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pye ...
- python多版本管理工具(pyenv)
在学习和利用python开发的很多情况下,需要多版本的Python并存.此时需要在系统中安装多个Python,但又不能影响系统自带的 Python.pyenv 就是这样一个 Python 版本管理器. ...
- 转 Python多版本管理-pyenv
#######for linux https://www.cnblogs.com/saneri/p/7642316.html 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python ...
- MacOS下Python的多版本管理(pyenv)
与windows下设置绝对路径不同,pyenv使用了一种更优雅的方式来管理Python的版本.pyenv通过在$PATH的最前面插入一个垫片路径(shims),例如:~/.pyenv/shims:/u ...
随机推荐
- IE6下CSS常见兼容性问题及解决方案
1. 在IE6元素浮动,如果宽度需要内容撑开,就给里面的块元素加浮动. 2. IE6下最小高度问题:在IE6下元素高度小于19px的时候,会被当作19px处理.解决方案:给元素加 overflow:h ...
- 两步搞定Activity的向右滑动返回的功能
向右滑动返回,对于屏幕过大的手机来说,在单手操作时,是一个不错的用户体验,用户不必再费力的或者用另一个手去点击屏幕左上角的返回按钮或者,手机右下角的返回按钮,轻轻向右滑动屏幕即可返回上一页,这个功能如 ...
- scala学习系列二
一 scala语言开发注意事项: 1 Scala程序的执行入口是main()函数 2 Scala语言严格区分大小写. 3 Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后 ...
- PHP+Redis实现延迟任务,实现自动取消与完成订单
简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) : (A)业务场景: 1.当一个业务触发以后需要启动一个定时任务,在指定时间内再去执行一个任务( ...
- All-in-one 的Serving分析
export_func.export(model, sess, signature_name=mission, version=fold + 1) def export(model, sess, si ...
- 对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default
反编译或者.net用更高版本打开时会出现这个问题,解决办法如下: 1.网页版程序,将解决方案中的Web.config中的 /langversion 的值改为指定的值,既可以解决,我这里采用的是默认值, ...
- LinkedList实现原理(JDK1.8)
LinkedList实现原理(JDK1.8) LinkedList底层采用双向链表,如果对链表这种结构比较熟悉的话,那LinkedList的实现原理看明白就相当容易. 链表通过"指针&quo ...
- 查找节点(getAttribute())
getAttribute():方法将返回一个给定元素的一个给定属性节点的值: attributeValue = element.getAttribute(attributeName); 给定属性的名字 ...
- int main (int argc, const char * argv[0]) 中参数的含义;指针数组和数组指针
恩,有的编译器初始化时候会产生这样的参数 argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名 1. 几种C++ 常见的参数种类 int main(void); in ...
- MySql简单的增删改查语句 js
最近在项目中需要连接数据库,做增删改查的功能,sql语句整理做了以下记录(基于NodeJs,注:data为你的真实数据): (一)新增插入表中数据: sql: 'insert into work(表名 ...