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. java并发安全

    本次内容主要线程的安全性.死锁相关知识点. 1.什么是线程安全性 1.1 线程安全定义  前面使用8个篇幅讲到了Java并发编程的知识,那么我们有没有想过什么是线程的安全性?在<Java并发编程 ...

  2. 数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST

    目录 数据挖掘入门系列教程(八)之使用神经网络(基于pybrain)识别数字手写集MNIST 下载数据集 加载数据集 构建神经网络 反向传播(BP)算法 进行预测 F1验证 总结 参考 数据挖掘入门系 ...

  3. TCP连接与HTTP请求

    一道经典面试题: 从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式.什么顺 ...

  4. [vijos1725&bzoj2875]随机数生成器<矩阵乘法&快速幂&快速乘>

    题目链接:https://vijos.org/p/1725 http://www.lydsy.com/JudgeOnline/problem.php?id=2875 这题是前几年的noi的题,时间比较 ...

  5. Blazor入门笔记(5)-数据绑定

    1.环境 VS2019 16.5.1 .NET Core SDK 3.1.200 Blazor WebAssembly Templates 3.2.0-preview2.20160.5 2.默认绑定 ...

  6. python之excel的封装

    python之excel的封装 将所有excel的操作都使用面向对象的思维进行封装,即将所有操作都放入一个类中即为封装. 它将excel的处理极大程度的进行了简化操作 封装前需要先处理的操作: 1.在 ...

  7. Linux利器:使用 gcc 编程C程序

    文章更新于:2020-03-23 文章目录 一.手动编译链接单个C源文件 1.创建C源文件 2.编译源文件 3.生成可执行文件 二.手动编译链接多个C源文件 1.创建两个C源文件 2.编译两个源文件 ...

  8. Ceph学习笔记(3)- Monitor

    Ceph学习笔记(3)- Monitor 前言: ​ Ceph将cluster map与placement rule合并为一张表称为crush map,作为集群表的一部分.由Monitor对集群表的副 ...

  9. word多级列表应用

  10. 队列的含义以及C语言实现顺序队列

    队列,和栈一样,也是一种对数据的"存"和"取"有严格要求的线性存储结构. 什么是队列 与栈结构不同的是,队列的两端都"开口",要求数据只能从 ...