centos下python多版本管理(pyenv+python+virtualenv+ipython)
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)的更多相关文章
- python 多版本管理pyenv和virtualenv虚拟开发环境
pyenv是管理多个python版本的工具. 1.pyenv的安装 git clone https://github.com/yyuu/pyenv.git ~/.pyenv 2.将PYENV_ROOT ...
- Python多版本管理-pyenv
经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pye ...
- 转 Python多版本管理-pyenv
#######for linux https://www.cnblogs.com/saneri/p/7642316.html 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python ...
- CentOS下安装setuptools、pip和virtualenv
已经安装了Python,现在我们可以最终确定完成应用程序生产和部署的基础知识.为此,我们将设立两个最常用的工具:PIP封装经理和virtualenv中的环境管理. 一.安装setuptools set ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- CentOS下用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
安装 系统环境:CentOS 6.5 安装依赖 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline- ...
- python多版本管理工具(pyenv)
在学习和利用python开发的很多情况下,需要多版本的Python并存.此时需要在系统中安装多个Python,但又不能影响系统自带的 Python.pyenv 就是这样一个 Python 版本管理器. ...
- Python多版本管理器-pyenv 介绍及部署记录
一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...
- CentOS下Python管理
一.升级Python 查看系统版本 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 查看Python版本 python -V ...
随机推荐
- OpenCV-Python 如何使用背景分离方法 | 四十六
目标 背景分离(BS)是一种通过使用静态相机来生成前景掩码(即包含属于场景中的移动对象像素的二进制图像)的常用技术. 顾名思义,BS计算前景掩码,在当前帧与背景模型之间执行减法运算,其中包含场景的静态 ...
- 有效括号算法题(Golang实现)
有效括号算法题 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空 ...
- 用c#求一元二次方程
题目:编一个程序,输入a .b.c 的值,求出一元二次方程a*x*x+b*x+c=0的二个实数根. 我的思路: 我们都知道数学中求一元二次方程有很多方法:直接开方法.配方法.公式法.分解因式法等等,在 ...
- 算法(algorithm)
算法是什么? 算法是指令的集合,是为解决特定问题而规定的一系列操作. 它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出. 一个算法通常来说具有以下五个特性: 1.输入:一个 ...
- 2.Metasploit数据库配置及扫描模块介绍
01.Metasploit数据库配置及扫描模块介绍 信息收集 信息收集是渗透测试中首先要做的重要事项之一,目的是尽可能多的查找关于目标的信息,我们掌握的信息越多,渗透成功的机会越大.在信息 ...
- # CodeCraft-20 (Div. 2)
CodeCraft-20 (Div. 2) A. Grade Allocation 思路 : 无脑水题 代码 #include<iostream> #include<algorith ...
- mysql清空表后id重1开始
通过"truncate table 表名"方式重置清空id,让id从1开始自动递增,
- RedHat 6.5 上将系统语言修改为中文
RedHat 6.5 上将系统语言修改为中文 1.打开终端,输入su -,键入密码,获取超级用户权限. 2.输入cd /etc/sysconfig,进入设置目录. 3.输入vi i18n,进入到配置文 ...
- Centos装机预备技能
装机预备技能 1.1问题 本例要求安装一台可用的KVM服务器: RHEL与Cent ...
- 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
这里主要用到了swiper组件和三目运算,直接上代码, 样式只有三个class,简单粗暴,懒的小伙伴们可以直接拿来用,喜欢的点个支持 <view> <view class=" ...