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的更多相关文章

  1. Python多版本管理器-pyenv 介绍及部署记录

    一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...

  2. 你应该学会的Python多版本管理工具Pyenv

    目录 Pyenv 简介 安装pyenv 通过pyenv安装python各种发行版 pyenv命令 多版本Python的管理 Pyenv常见问题Wiki Pyenv 简介 首先,该工具是在类linux环 ...

  3. centos下python多版本管理(pyenv+python+virtualenv+ipython)

    pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...

  4. python多版本管理包pyenv

    前言: CentOS7  默认版本 python2.7.5 ,但是目前项目开发都是在python3的环境下,而单独编译安装python3时会出现各种异常!!! 系统默认python2.7又不能删除,否 ...

  5. Ubuntu中python多版本管理工具-pyenv

    ubuntu系统版本:16.04 # lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubu ...

  6. Python多版本管理-pyenv

    经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pye ...

  7. python多版本管理工具(pyenv)

    在学习和利用python开发的很多情况下,需要多版本的Python并存.此时需要在系统中安装多个Python,但又不能影响系统自带的 Python.pyenv 就是这样一个 Python 版本管理器. ...

  8. 转 Python多版本管理-pyenv

    #######for linux https://www.cnblogs.com/saneri/p/7642316.html 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python ...

  9. MacOS下Python的多版本管理(pyenv)

    与windows下设置绝对路径不同,pyenv使用了一种更优雅的方式来管理Python的版本.pyenv通过在$PATH的最前面插入一个垫片路径(shims),例如:~/.pyenv/shims:/u ...

随机推荐

  1. poj 3974 Palindrome (manacher)

    Palindrome Time Limit: 15000MS   Memory Limit: 65536K Total Submissions: 12616   Accepted: 4769 Desc ...

  2. nyoj 399-整除个数 (整除)

    399-整除个数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:9 提交数:18 难度:1 题目描述: 1.2.3… …n这n(0<n<=1000000000)个数中有 ...

  3. 使用OpenMP加快OpenCV图像处理性能 | speed up opencv image processing with openmp

    本文首发于个人博客https://kezunlin.me/post/7a6ba82e/,欢迎阅读! speed up opencv image processing with openmp Serie ...

  4. Java流程控制之(四)中断

    目录 break continue return 标签 在程序设计时,循环直接的跳转显得十分重要,虽然Java没有提供goto语句去控制程序的跳转,但为了控制循环,Java提供了continue,br ...

  5. C#面向对象--命名空间

    一.在C#中,使用命名空间(Namespace)可以帮助控制自定义类型的作用范围,同时对大量的类型进行组织:使用namespace关键字声明命名空间,命名空间可以嵌套使用: namespace MyN ...

  6. 内核升级在线安装报错:Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was14: curl#6 - "Could not resolve host: mirrors.elrepo.org; 未知的错误"

    修改网卡配置 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 BOOTPROTO="none" ...

  7. java Math类常用方法

    package com.niuke.test; public class MathDemo { public static void main(String args[]){ /** * abs求绝对 ...

  8. 前端vue如何下载或者导出word文件和excel文件

    前端用vue怎么接收并导出文件 window.location.href = "excel地址" 如果是 get 请求,那直接换成 window.open(url) 就行了 创建一 ...

  9. 最短路径算法(跟新SPFA,Ford)

    //以城市路为蓝本介绍算法 1381:城市路(Dijkstra) 时间限制: 1000 ms         内存限制: 65536 KB提交数: 4517     通过数: 1306 [题目描述] ...

  10. 【Android - 控件】之V - DrawerLayout的使用

    DrawerLayout是Android V4包中的一个布局控件,用来实现一个抽屉样式的布局. DrawerLayout通过设置子视图的layout_gravity来决定子视图停靠在屏幕的哪个边缘外侧 ...