pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等

1 环境准备
安装相关软件和pyenv
1.1 安装相关软件
yum install -y readline
readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel
bzip2-devel bzip2-libs

1.1 克隆pyenv
git clone https://github.com/yyuu/pyenv.git
~/.pyenv

1.2 设置相关环境变量,使pyenv生效
echo 'export
PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export
PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv
init -)"' >> ~/.bash_profile
exec $SHELL -l

2
安装python
2.1 常用pyenv操作
pyenv install --list
查看可安装的python版本
pyenv install 3.5.0 安装python3.5.0
pyenv uninstall
//卸载

2.2 更新pyenv
安装完之后,需要更新一下才能看到已经安装的版本
pyenv
rehash
pyenv versions //查看已经安装好的版本,带*号的为当前使用的版本

2.3 选择python版本

pyenv global 3.5.0 //设置全局版本,即系统使用的将是此版本
pyenv local
3.5.0 //当前目录下的使用版本,有点类似virtualenv

补充:网络问题导致安装缓慢或无法进行
如anaconda之类大容量的版本,由于网络的问题,总是连接中断,安装失败。此时可以先从官方网站下载安装包,然后放在~/.pyenv/cache文件夹中,然后在pyenv
install 此版本,pyenv会自动先从此文件夹中搜索

3 python
virtualenv创建纯净虚拟环境
  
虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。
3.1
安装插件pyenv-virtualenv
参考文章:http://www.tiny-coder.com/home-article-51.html
pyenv-virtualenv插件安装:项目主页:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv
virtualenv命令。

3.2 安装virtualenv
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv
virtualenv-init -)"' >>
~/.bash_profile
这个插件将安装在主文件夹下的.pyenv文件夹中。

3.3 创建一个2.7.13的虚拟环境
pyenv virtualenv 2.7.13
py27
source ~/.bash_profile

这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的
‘2.7.13’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’
命令来查看当前的虚拟环境。

3.4 切换和使用新的python虚拟环境:
pyenv activate
env271
这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
如果要切换回系统环境,
运行这个命令即可
pyenv deactivate
那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:
rm
-rf ~/.pyenv/versions/env271/
或者卸载:
pyenv uninstall env271

4
安装ipython

centos7 已经带有pip,不用安装pip(在centos6 叫python-pip,在centos7 叫pip
yum install python-pip
进入python环境后,
安装ipython,若是python2+,需要指定ipython版本为ipython==1.2.1
pip install
ipython

ps: 各个步骤的安装脚本,这里的脚本安装了python2.7.13和3.6.0,python安装方式为先下载,在安装

1 环境准备
安装相关软件和pyenv

#!/usr/bin/env bash
# 安装相关软件和pyenv 
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs
# 克隆pyenv
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
# 导出环境变量,使pyenv生效
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL -l

2 安装python

#!/usr/bin/env bash

python2=2.7.13
python2_url="https://www.python.org/ftp/python/$python2/Python-${python2}.tar.xz"
python3=3.6.0
python3_url="https://www.python.org/ftp/python/$python3/Python-${python3}.tar.xz" test -e ~/.pyenv/cache || mkdir -p ~/.pyenv/cache
cd ~/.pyenv/cache if ! ls Python-${python2}.tar.xz &> /dev/null; then
wget $python2_url
fi
pyenv install $python2 -v if ! ls Python-${python3}.tar.xz &> /dev/null; then
wget $python3_url
fi
pyenv install $python3 -v git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

3 python virtualenv创建纯净虚拟环境

#!/usr/bin/env bash

python2=2.7.13
python3=3.6.0
pyenv virtualenv $python2 py27
pyenv virtualenv $python3 py35
echo 'alias py27="pyenv activate py27"' >> ~/.bash_profile
echo 'alias py35="pyenv activate py35"' >> ~/.bash_profile
echo 'alias pyd="pyenv deactivate"' >> ~/.bash_profile
source ~/.bash_profile

4 安装ipython

#!/usr/bin/env bash
# 使用py27进入python环境后,进行以下操作。
# py27
yum install python-pip
pip install ipython==1.2.1
#!/usr/bin/env bash
# 使用py35进入python环境后,进行以下操作。
# py35
yum install python-pip
pip install ipython

centos下python多版本管理(pyenv+python+virtualenv+ipython)的更多相关文章

  1. python 多版本管理pyenv和virtualenv虚拟开发环境

    pyenv是管理多个python版本的工具. 1.pyenv的安装 git clone https://github.com/yyuu/pyenv.git ~/.pyenv 2.将PYENV_ROOT ...

  2. Python多版本管理-pyenv

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

  3. 转 Python多版本管理-pyenv

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

  4. CentOS下安装setuptools、pip和virtualenv

    已经安装了Python,现在我们可以最终确定完成应用程序生产和部署的基础知识.为此,我们将设立两个最常用的工具:PIP封装经理和virtualenv中的环境管理. 一.安装setuptools set ...

  5. Centos下搭建 nginx+uwsgi+python

    python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...

  6. CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境

    安装 系统环境:CentOS 6.5 安装依赖 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline- ...

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

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

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

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

  9. CentOS下Python管理

    一.升级Python 查看系统版本 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 查看Python版本 python -V ...

随机推荐

  1. 关于用命令行和idea对项目打jar包

    前提说一下,我们一般是对编译后的项目进行打包,不然打包后还得自己去重新编译class文件. 假如这是你的一个项目目录: 我们要写一个简单的计算器工具类项目,然后对他进行打包, idea里面out文件夹 ...

  2. POJ - 3468 线段树单点查询,单点修改区间查询,区间修改模板(求和)

    题意: 给定一个数字n,表示这段区间的总长度.然后输入n个数,然后输入q,然后输入a,b,表示查询a,b,区间和,或者输入c 再输入三个数字a,b,c,更改a,b区间为c 思路: 线段树首先就是递归建 ...

  3. ABP.Net Core 小白使用教程

    自己简单的记录一下 1.到官网下载模版项目 我下载的是那个前后分离Vue版 2.用VS2017打开,将Web.Host设置为启动项(Core 2.1要看自己VS下载了这个版本没) 3.设置数据库连接 ...

  4. 基于 HTML5 WebGL 的楼宇智能化集成系统(一)

    前言       随着现代通信技术.计算机技术.控制技术的飞速发展,智能建筑已经成为现代建筑发展的主流.智能建筑是以建筑物为平台,兼备信息设施系统.信息化应用系统.建筑设备管理系统.公共安全系统等.集 ...

  5. Flutter 不可错过的学习资源

    老孟导读:今天给大家分享一下我在学习Flutter的过程中整理的资料,这些文章或者开源项目都是精挑细选的,希望可以帮助到到家.另外相关资料会在Github一直更新,欢迎大家fork,如果喜欢的话给个小 ...

  6. 【Jenkins】使用 Jenkins REST API 配合清华大学镜像站更新 Jenkins 插件

    自从去年用上了 Jenkins 进行 CI/CD 之后,工作效率高了不少,摸鱼的时间更多了.不过 Jenkins 好是好,但在功夫网的影响下,插件就是经常更新不成功的,就像下面这样子: 查了不少资料, ...

  7. Python学习笔记:迭代器(Iterator)详解

    一.可迭代的对象(Iterable) 1.定义:可以直接用在循环的数据类型,如list,tuple,dict,set,str,还有generator(生成器), 和带yield的函数,这些直接可以用在 ...

  8. Vue引用阿里图标库

    首先进入官网http://www.iconfont.cn/ 转载:https://blog.csdn.net/qq_34802010/article/details/81451278 选择图标库 在里 ...

  9. 一夜搞懂 | JVM 线程安全与锁优化

    前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 学习导图 一.为什么要学习内存模型与线程? 之前我们学习了内存模型和线程,了解了 JMM 和线程,初步 ...

  10. PTA数据结构与算法题目集(中文) 7-14

    PTA数据结构与算法题目集(中文)  7-14 7-14 电话聊天狂人 (25 分)   给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤),为通话记录 ...