使用pyenv安装多个Python版本
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版本的更多相关文章
- 在macOS上通过pyenv安装和切换多版本Python
1. 安装homebrew 官网 http://brew.sh/index_zh-cn.html 打开终端,在终端中粘贴如下脚本 /usr/bin/ruby -e "$(curl -fsSL ...
- 使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境
在上一篇博客中,我介绍了如何在ubutnu 18.04中安装pyenv.这一次我将介绍如何使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境. 0.相关命令 首先使用pye ...
- Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境
0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...
- pyenv,轻松切换各种python版本
pyenv,轻松切换各种python版本 解决什么问题 mac自带python2,md又不能删掉他 linux也自带python2,这玩意都过时了,也不赶紧换掉 安装pyenv git 安装 git ...
- 在Window平台下安装xgboost的Python版本
原文:http://blog.csdn.net/pengyulong/article/details/50515916 原文修改了两个地方才安装成功,第3步可以不用,第2步重新生成所有的就行了. 第4 ...
- windows下同时安装多个python版本的方法
根据项目的需要,我的电脑上需要安装的python不止一个版本,比如同时需要python2.7和python3.6: 安装多个python版本 这时需要下载多个python安装包,为了区分不同的pyth ...
- Python linux 上的管理工具 pyenv 安装, pip 使用, python项目(版本分割, 项目分割, 虚拟环境创建)
01: 假设你有一个最小环境安装的 centos-6.x 的linux操作系统 02: 安装 git => yum -y install git 03: 安装依赖 => yum -y in ...
- 使用 pyenv 可以在一个系统中安装多个python版本
Installl related yum install readline readline-devel readline-static -y yum install openssl openssl- ...
- 如何使用pyenv在windows10安装多个python版本环境
安装pyenv-win pyenv-win的详细内容可以查看源地址 1.这里我用的是第一种安装方法: pip install pyenv-win --target %USERPROFILE%/.pye ...
随机推荐
- Python图表数据可视化Seaborn:4. 结构化图表可视化
1.基本设置 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ...
- day 58 bootstrap -part1
我们的bootstrap主要使用都是官网里面的内容,官网里面的都整理得很完备,有需要的时候就直接去里面找即可, 关于这个bootstrap,我所理解的就是,我们前面所学的那些,从html开始一直到后面 ...
- oracle获取某个月份的最后一天
select last_day(to_date('1992-10','yyyy-mm')) from dual; 输出:1992/10/31
- 初窥Java之四
一.条件判断之if判断 语法格式:if(结果为布尔类型的结果值){ 功能执行语句; }else if(结果为布尔类型的结果值){ 功能执行语句; } ....{ }else{ 功能执行语句: } 注意 ...
- sublime text3 中 python3编译出现中文乱码解决方法
转 https://blog.csdn.net/Bin_bin_bingo/article/details/80531582 一.乱码现象 利用sublime自带编译快捷方式ctrl+B会出现中文乱码 ...
- 牛客练习赛35-背单词-线性DP
背单词 思路 :dp[ i ] [ 0 ]表示 第i 位放的元音 dp[ i ] [ 1 ]表示 第i 位放的辅音 ,cnt [ i ]含义是 长度为 i 的方案数. 转移 :dp[ i ] ...
- SpringBoot使用事务
事务是很多项目中需要注意的东西,有些场景如果没有加事务控制就会导致一些脏数据进入数据库,本文简单介绍SpringBoot怎样使用事务. 本文使用的是之前整合JPA的文章,具体可以参考 传送门. 无论是 ...
- 实现winfrom进度条及进度信息提示
1.方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中.我们经常需要用到进度条(ProgressBar)用于显示进度信息.这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口 ...
- [Python]list.append字典的时候,修改字典会导致list内容变化的问题
今天写了这样的一段代码,出现了BUG. log_message["EventName"] = "上架->可用" log_message["Eve ...
- 潭州课堂25班:Ph201805201 django 项目 第十一课 手机号是否存在,短信验证分析 (课堂笔记)
判断手机号是否注册功能实现 1.分析 请求方法:GET url定义:/mobiles/(?P<mobile>1[3-9]\d{9})/ 请求参数:url路径参数 参数 类型 前端是否必须传 ...