pyenv是一个便于使用多版本Python环境的工具

pyenv使用shell脚本编写的,只需要下载就可以使用了,不需要root用户,这个我比较喜欢。

具体介绍看网址:https://github.com/yyuu/pyenv

我具体介绍一下安装步骤

0.系统准备

我使用Ubuntu Desktop 14.04,

默认git没装,需要安装一下

sudo apt-get install git

需要安装一些包,不然安装Python版本时会有报错

sudo apt-get install libbz2-dev

sudo apt-get install libssl-dev

sudo apt-get install libreadline6 libreadline6-dev

sudo apt-get install libsqlite3-dev

第一次安装我没有安装以上包,报了以下错误:

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib

WARNING: The Python readline extension was not compiled. Missing the GNU readline lib

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib

如果lib名称不确认的话,可以使用 sudo apt-cache search 查找

1.安装pyenv

pyenv是shell脚本编写的,只需要下载然后指定环境变量就可以了

git clone https://github.com/yyuu/pyenv.git /pythontest/.pyenv

echo 'export PYENV_ROOT="/pythontest/.pyenv"' >> ~/.bashrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

2.安装python不同版本

准备安装2个最新的版本

2.7.11

3.5.1

使用以下命令即可

pyenv install 2.7.11 -v

pyenv install 3.5.1 -v

pyenv rehash

使用pyenv versions查看环境

如果需要删除指定版本:

pyenv uninstall x.x.x

3.设置当前环境,3个不同的范围

pyenv global 3.5.1

pyenv local 2.7.11

pyenv shell 2.7.11

4.pyenv下的virtualenv安装

直接下就可以了

git clone https://github.com/yyuu/pyenv-virtualenv.git /pythontest/.pyenv/plugins/pyenv-virtualenv  --其中/pythontest/.pyenv 是你安装pyenv的目录

exec "$SHELL"   --重新加载shell,更新环境变量

创建351环境

pyenv virtualenv 3.5.1 env351

进入3.5.1环境

pyenv activate env351

退出3.5.1环境

pyenv deactivate

5.删除对应环境

删除目录即可

rm -rf /pythontest/.pyenv/versions/env271/

使用pyenv安装多个Python版本的更多相关文章

  1. 在macOS上通过pyenv安装和切换多版本Python

    1. 安装homebrew 官网 http://brew.sh/index_zh-cn.html 打开终端,在终端中粘贴如下脚本 /usr/bin/ruby -e "$(curl -fsSL ...

  2. 使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境

    在上一篇博客中,我介绍了如何在ubutnu 18.04中安装pyenv.这一次我将介绍如何使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境. 0.相关命令 首先使用pye ...

  3. Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境

    0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...

  4. pyenv,轻松切换各种python版本

    pyenv,轻松切换各种python版本 解决什么问题 mac自带python2,md又不能删掉他 linux也自带python2,这玩意都过时了,也不赶紧换掉 安装pyenv git 安装 git ...

  5. 在Window平台下安装xgboost的Python版本

    原文:http://blog.csdn.net/pengyulong/article/details/50515916 原文修改了两个地方才安装成功,第3步可以不用,第2步重新生成所有的就行了. 第4 ...

  6. windows下同时安装多个python版本的方法

    根据项目的需要,我的电脑上需要安装的python不止一个版本,比如同时需要python2.7和python3.6: 安装多个python版本 这时需要下载多个python安装包,为了区分不同的pyth ...

  7. Python linux 上的管理工具 pyenv 安装, pip 使用, python项目(版本分割, 项目分割, 虚拟环境创建)

    01: 假设你有一个最小环境安装的 centos-6.x 的linux操作系统 02: 安装 git => yum -y install git 03: 安装依赖 => yum -y in ...

  8. 使用 pyenv 可以在一个系统中安装多个python版本

    Installl related yum install readline readline-devel readline-static -y yum install openssl openssl- ...

  9. 如何使用pyenv在windows10安装多个python版本环境

    安装pyenv-win pyenv-win的详细内容可以查看源地址 1.这里我用的是第一种安装方法: pip install pyenv-win --target %USERPROFILE%/.pye ...

随机推荐

  1. Ubuntu 硬盘分区只读,重新挂载为读写分区之后,文件依然创建出错

    原因: 分区只读,可能是windows没有正常关机,或者使用了混合休眠模式. 解决方案: sudo mount -o remount,rw /dev/sdaX 若重新挂载后,创建文件以及文件夹失败: ...

  2. 使用entitiy

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  3. Bi-shoe and Phi-shoe (欧拉函数)

    题目描述: 题目大意:一个竹竿长度为p,它的score值就是比p长度小且与且与p互质的数字总数,比如9有1,2,4,5,7,8这六个数那它的score就是6.给你T组数据,每组n个学生,每个学生都有一 ...

  4. Python并发复习1 - 多线程

    一.基本概念 程序: 指令集,静态, 进程: 当程序运行时,会创建进程,是操作系统资源分配的基本单位 线程: 进程的基本执行单元,每个进程至少包含一个线程,是任务调度和执行的基本单位 > 进程和 ...

  5. 大数据小白系列——MR(1)

    一部编程发展史就是一部程序员偷懒史,MapReduce(下称MR)同样是程序员们用来偷懒的工具. 来了一份大数据,我们写了一个程序准备分析它,需要怎么做? 老式的处理方法不行,数据量太大时,所需的时间 ...

  6. angular7一周学习

    ng new xxx 创建一个项目 ng serve --open 执行一个项目 angular 使用socket.io 报错 找到polyfills.ts添加 (window as any).glo ...

  7. SpringBoot使用JdbcTemplate

    前言 本文是对SpringBoot使用JdbcTemplate操作数据库的一个介绍,,提供一个小的Demo供大家参考. 操作数据库的方式有很多,本文介绍使用SpringBoot结合JdbcTempla ...

  8. BZOJ.4738.[清华集训2016]汽水(点分治 分数规划)

    BZOJ UOJ 记\(val_i\)是每条边的边权,\(s\)是边权和,\(t\)是经过边数,\(k\)是给定的\(k\). 在点分治的时候二分答案\(x\),设\(|\frac st-k|=x\) ...

  9. Java并发编程(十一)-- Java中的锁详解

    上一章我们已经简要的介绍了Java中的一些锁,本章我们就详细的来说说这些锁. synchronized锁 synchronized锁是什么? synchronized是Java的一个关键字,它能够将代 ...

  10. FTL常用标签及语法

    判断对象是否存在,若成立说明存在 <#if blockObjList ??></#if> <#if blockObjList ??>  <#else>  ...