Python多版本管理软件pyenv的安装应用.docx
《Python多版本管理软件pyenv的安装应用.docx》由会员分享,可在线阅读,更多相关《Python多版本管理软件pyenv的安装应用.docx(12页珍藏版)》请在冰豆网上搜索。
Python多版本管理软件pyenv的安装应用
Python多版本管理软件pyenv的安装应用
近期Comyn老师的Python视频推出之后,大家一直在讨论者pyenv这个软件的应用问题,简单写一篇基本用法,给大家做下简单介绍:
1.pyenv介绍
项目地址:
一般在操作系统中我们会安装多个Python版本,在*nix系统中一般默认就自带了Python2与Python3两个版本,所以在进行Python版本切换时会比较麻烦,pyenv就提供了一种简单的方式。
pyenv是一个能简易地在多个Python版本中进行切换的工具,它简单而优雅。
pyenv有以下功能:
◆进行全局的Python版本切换
◆为单个项目提供对应的Python版本
◆使用环境变量能让你重写Python版本
◆能在同一时间在不同版本间进行命令搜索
拥有以下特点:
◆只依赖Python本身
◆将目录添加进$PATH即可使用
◆能够进行virtualenv管理
2.centos6.4上安装配置pyenv
1)为安装pyenv做准备工作
(否则到后期使用pyenv的时候会有各种各样的问题)
[root@ansible1~]#yumgroupinstall"Developmenttools"
[root@ansible1~]#yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
2)安装pyenv
安装方式一:
[root@ansible1~]#curl|bash
安装方式二:
[root@ansible1~]#gitclonegit:
//.pyenv
3)环境变量的设置
设置方式一(推荐该方式)
[root@ansible1~]#vim/etc/profile.d/pyenv.sh
#!
/bin/bash
#FileName:
/etc/profile.d/pyenv.sh
#
#CreatedTime:
Fri16May201402:
27:
06AMCST
#########################################################################
#Defineenvironmentvariable
exportPYENV_ROOT="$HOME/.pyenv"
exportPATH="$PYENV_ROOT/bin:
$PATH"
eval"$(pyenvinit-)"
[root@ansible1~]#source/etc/profile.d/pyenv.sh
设置方式二(该方式使得添加的环境变量和系统的环境变量在一块,不利于管理)
#把我们刚才设置的pyenv.sh文件移除
[root@ansible1~]#mv/etc/profile.d/pyenv.sh./
[root@ansible1~]#source/etc/profile
#这里我们看到pyenv已经检测不到了
[root@ansible1~]#pyenv-bash:
pyenv:
commandnotfound
[root@ansible1~]#
#追加下面四条指令到~/.bash_profile文件中去
[root@ansible1~]#echo'exportPYENV_ROOT="$HOME/.pyenv"'>>~/.bash_profile
[root@ansible1~]#echo'exportPATH="$PYENV_ROOT/bin:
$PATH"'>>~/.bash_profile
[root@ansible1~]#echo'eval"$(pyenvinit-)"'>>~/.bash_profile
[root@ansible1~]#exec$SHELL
[root@ansible1~]#pyenvversionsbash:
pyenv:
commandnotfound
#使之生效
[root@ansible1~]#source~/.bash_profile
#验证
[root@ansible1~]#pyenvversions
*system(setby/root/.pyenv/version)
[root@ansible1~]#
设置方式三(该方式每次都要解析一遍pyenvinit-输出的内容,不建议使用)
#安装pyenv
[root@ansible1~]#curl|bash
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
00000000--:
--:
--0:
00:
22--:
--:
--0
#添加pyenv到PATH中去
[root@ansible1~]#vim/etc/profile
[root@ansible1~]#source/etc/profile
#添加环境变量
[root@ansible1~]#echo'eval"$(pyenvinit-)"'>/etc/profile.d/pyenvnew.sh
[root@ansible1~]#source/etc/profile.d/pyenvnew.sh
-bash:
pyenv:
commandnotfound
[root@ansible1~]#cat/etc/profile.d/pyenvnew.sheval"$(pyenvinit-)"
#这里没有找到是因为对当前会话没有生效
[root@ansible1~]#pyenv
-bash:
pyenv:
commandnotfound
4)pyenv的内置命令
我们来看看pyenv都给我们提供了那些版本
仅列出部分
3.pyenv多版本配置Python
1)使用pyenv安装python
我们这安装两个版本,一个2.7.6一个3.3.3
安装2.7.6版本
[root@ansible1~]#pyenvversions
*system(setby/root/.pyenv/version)
[root@ansible1~]#python-V
Python2.6.6
[root@ansible1~]#pyenvinstall2.7.6
[root@ansible1~]#pyenvversions
*system(setby/root/.pyenv/version)
2.7.6
[root@ansible1~]#
安装3.3.3版本
[root@ansible1~]#pyenvversions
*system(setby/root/.pyenv/version)
2.7.6
[root@ansible1~]
[root@ansible1~]#pyenvinstall3.3.3
4.pyenv的基本应用
1)pyenv-h
可以查看pyenv的命令
[root@DBClient~]#pyenv-h
pyenv20150719-4-g3db1ac1
Usage:
pyenv[]
Someusefulpyenvcommandsare:
commandsListallavailablepyenvcommands
localSetorshowthelocalapplication-specificPythonversion
globalSetorshowtheglobalPythonversion
shellSetorshowtheshell-specificPythonversion
installInstallaPythonversionusingpython-build
uninstallUninstallaspecificPythonversion
rehashRehashpyenvshims(runthisafterinstallingexecutables)
versionShowthecurrentPythonversionanditsorigin
versionsListallPythonversionsavailabletopyenv
whichDisplaythefullpathtoanexecutable
whenceListallPythonversionsthatcontainthegivenexecutable
See`pyenvhelp'forinformationonaspecificcommand.
Forfulldocumentation,see:
[root@DBClient~]#
2)pyenvversion
#显示当前使用的Pythonpyenvwhichpython#显示当前Python的安裝路径
3)pyenvglobal
#设置默认的Python版本pyenvlocal
#在当前路径创建一个.python-version,以后进入这个目录自动切换为该版本
pyenvshell
#在当前shell的session中启用某个Python版本,优先级高于global,local
5.pip安装与配置
1)使用yum来安装pip
[root@ansible1~]#yuminstallpython-pip
#更换pip的源为国内的,为什么,你懂得
[root@ansible1~]#ls-a
..bash_history.cshrc.pip.ssh.vimrc...bash_logout.distlib.pki.tcshrcanaconda-ks.cfg.bash_profileinstall.log.pyenvtest.sh.ansible.bashrcinstall.log.syslogpyenv.sh.viminfo
#我们可以看到pip.conf是不存在的
[root@ansible1~]#ls~/.pip/pip.log
[root@ansible1~]#vim~/.pip/pip.conf
#添加两行,定义使用国内的豆瓣的pip源
[root@ansible1~]#tail~/.pip/pip.conf
[global]
index-url=
[root@ansible1~]#
2)使用pip安装python相关软件
你还在使用系统自带的python来敲命令么,你out了,使用ipython吧,命令行下这个就够了
看到下面的这个报错,你明白为什么我们前面要安装pyenv了吧