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. python中面向对象&装饰器

    类的定义 基本形式: class ClassName(object): Statement 1.class定义类的关键字 2.ClassName类名,类名的每个单词的首字母大写. 3.object是父 ...

  2. Hadoop 同步集群时间ntp

    root 用户操作 1,rpm -qa|grep ntp 查看机器是否安装ntp 2,vi /etc/ntp.conf 修改: #restrict 192.168.1.0 mask 255.255.2 ...

  3. 【cs224w】Lecture 4 - 社区结构

    Community 转自本人:https://blog.csdn.net/New2World/article/details/105328390 之前讲到了网络中节点扮演不同角色,而角色这个概念和社区 ...

  4. 手写一个Promise/A+,完美通过官方872个测试用例

    前段时间我用两篇文章深入讲解了异步的概念和Event Loop的底层原理,然后还讲了一种自己实现异步的发布订阅模式: setTimeout和setImmediate到底谁先执行,本文让你彻底理解Eve ...

  5. linux硬件资源问题排查:cpu负载、内存使用情况、磁盘空间、磁盘IO

    在使用过程中之前正常的功能,突然无法使用,性能变慢,通常都是资源消耗问题,资源消耗可以从以下几个方面去排查.对于已经安装硬件资源监控软件(zabbix)的环境,直接使用硬件资源监控软件(zabbix) ...

  6. html5调用手机摄像头

    <input type="file" accept="image/*" capture="camera"><input t ...

  7. Redis 过期时间相关命令

    命令 示例和描述 PERSIST PERSIST key-name —— 移除键的过期时间 TTL TTL key-name —— 查看给定键距离过期还有多少秒 EXPIRE EXPIRE key-n ...

  8. qW3xT.2,解决挖矿病毒

    在阿里云使用redis,开启了6379端口,但是当时并没有对redis的密码进行设置. 在晚上一点左右.阿里云给我发短信,告诉我服务器出现紧急安全事件.建议登录云盾-态势感知控制台查看详情和处理. 于 ...

  9. Jenkins中管道案例脚本(生命式语法)

    pipeline { agent any parameters { choice( choices: 'feature\nmaster\npercent10', description: '选择要发布 ...

  10. PTA | 1008 数组元素循环右移问题 (20分)

    一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--AN-1)变换为(AN-M -- AN-1 A0 ...