设为首页 收藏本站
查看: 4406|回复: 0

[经验分享] Python多版本管理软件pyenv的安装应用及pip的使用讲解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-19 14:31:35 | 显示全部楼层 |阅读模式
近期Comyn老师的Python视频推出之后,大家一直在讨论者pyenv这个软件的应用问题,简单写一篇基本用法,给大家做下简单介绍:
目录:
一、pyenv介绍
二、centos6.4上安装配置pyenv
三、使用pyenv安装python
四、pyenv的基本应用
五、pip安装与配置
六、使用pip安装python相关软件





一、pyenv介绍
项目地址:https://github.com/yyuu/pyenv

关于pyenv的介绍:
一般在操作系统中我们会安装多个Python版本,在*nix系统中一般默认就自带了Python2与Python3两个版本,所以在进行Python版本切换时会比较麻烦,pyenv就提供了一种简单的方式。
pyenv是一个能简易地在多个Python版本中进行切换的工具,它简单而优雅。
pyenv有以下功能:
  • 进行全局的Python版本切换
  • 为单个项目提供对应的Python版本
  • 使用环境变量能让你重写Python版本
  • 能在同一时间在不同版本间进行命令搜索

拥有以下特点:
  • 只依赖Python本身
  • 将目录添加进$PATH即可使用
  • 能够进行virtualenv管理





二、centos6.4上安装配置pyenv

  • 为安装pyenv做准备工作(否则到后期使用pyenv的时候会有各种各样的问题)

    [iyunv@ansible1 ~]# yum groupinstall "Development tools"
    [iyunv@ansible1 ~]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.1、安装pyenv
  • 安装方式一:

    [iyunv@ansible1 ~]# curl https://raw.github.com/yyuu/pyen ... bin/pyenv-installer |bash
  • 安装方式二:


    [iyunv@ansible1 ~]# git clone git://github.com/yyuu/pyenv.git .pyenv
wKioL1N4qg7jdWQTAAZE-DYLmyQ453.jpg
2.2、环境变量的设置


  • 设置方式一(推荐该方式)

    [iyunv@ansible1 ~]# vim /etc/profile.d/pyenv.sh
    #!/bin/bash
    # File Name: /etc/profile.d/pyenv.sh
    # Author: 马哥教育
    # QQ: 1661815153
    # Created Time: Fri 16 May 2014 02:27:06 AM CST
    #########################################################################

    # Define environment variable

    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval"$(pyenv init -)"

    [iyunv@ansible1 ~]# source /etc/profile.d/pyenv.sh

  • wKiom1N4q02z04aOAAOtw8lYtBY149.jpg
  • 设置方式二 (该方式使得添加的环境变量和系统的环境变量在一块,不利于管理)
    # 把我们刚才设置的pyenv.sh文件移除
    [iyunv@ansible1 ~]# mv /etc/profile.d/pyenv.sh ./  
    [iyunv@ansible1 ~]# source /etc/profile
    # 这里我们看到pyenv已经检测不到了
    [iyunv@ansible1 ~]# pyenv
    -bash: pyenv: command not found
    [iyunv@ansible1 ~]#

    # 追加下面四条指令到~/.bash_profile文件中去
    [iyunv@ansible1 ~]# echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    [iyunv@ansible1 ~]# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
    [iyunv@ansible1 ~]# echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
    [iyunv@ansible1 ~]# exec $SHELL
    [iyunv@ansible1 ~]# pyenv versions
    bash: pyenv: command not found
    # 使之生效
    [iyunv@ansible1 ~]# source ~/.bash_profile
    # 验证
    [iyunv@ansible1 ~]# pyenv versions
    * system (set by /root/.pyenv/version)
    [iyunv@ansible1 ~]#
  • wKioL1N4qzDCEDUlAAMmKcGt2JM109.jpg
  • 设置方式三 (该方式每次都要解析一遍pyenv init -输出的内容,不建议使用)
    # 安装pyenv
    [iyunv@ansible1 ~]# curl https://raw.github.com/yyuu/pyen ... bin/pyenv-installer |bash
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
    00000000--:--:--0:00:22--:--:--0
    # 添加pyenv到PATH中去
    [iyunv@ansible1 ~]# vim /etc/profile
    [iyunv@ansible1 ~]# source /etc/profile
    # 添加环境变量
    [iyunv@ansible1 ~]# echo 'eval "$(pyenv init -)"' > /etc/profile.d/pyenvnew.sh
    [iyunv@ansible1 ~]# source /etc/profile.d/pyenvnew.sh
    -bash: pyenv: command not found
    [iyunv@ansible1 ~]# cat /etc/profile.d/pyenvnew.sh
    eval"$(pyenv init -)"# 这里没有找到是因为对当前会话没有生效
    [iyunv@ansible1 ~]# pyenv
    -bash: pyenv: command not found


    wKioL1N4q0uAC6VdAAR3_jtHh5k078.jpg


2.3、安装好了,让我们看看pyenv的内置命令都有哪些

  • 我们来看看pyenv都给我们提供了那些版本
  • wKiom1N4q4zwkes1AAS7Uc0SiTc142.jpg
  • 仅列出部分
  • wKioL1N4q3Xyv5JTAAWXZyQY6Sg946.jpg





三、使用pyenv安装python
我们这安装两个版本,一个2.7.6  一个3.3.3
  • 安装2.7.6版本
    [iyunv@ansible1 ~]# pyenv versions
    * system (set by /root/.pyenv/version)
    [iyunv@ansible1 ~]# python -V
    Python 2.6.6
    [iyunv@ansible1 ~]# pyenv install 2.7.6
    [iyunv@ansible1 ~]# pyenv versions
    * system (set by /root/.pyenv/version)
    2.7.6
    [iyunv@ansible1 ~]#
  • wKioL1N4rCyyOYJXAAQ5n-v-xuI769.jpg
  • 安装3.3.3版本

    [iyunv@ansible1 ~]# pyenv versions
    * system (set by /root/.pyenv/version)
    2.7.6
    [iyunv@ansible1 ~]  [iyunv@ansible1 ~]# pyenv install 3.3.3

wKioL1N4rD_yIac2AAQ12rTtFTw271.jpg




四、pyenv的基本应用
输入pyenv -h可以查看pyenv的命令
commands    List all available pyenv commands
local       Set or show the local application-specific Python version
global      Set or show the global Python version
  shell       Set or show the shell-specific Python version
  install     Install a Python version using python-build
  uninstall   Uninstall a specific Python version
  rehash      Rehash pyenv shims (run this after installing executables)
  version     Show the current Python version and its origin
  versions    List all Python versions available to pyenv
  which       Display the full path to an executable
  whence      List all Python versions that contain the given executable

我们常用的几个命令:
pyenv version                         #显示当前使用的Python
pyenv which python                 #显示当前Python的安裝路径
pyenv global              #设置默认的Python版本
pyenv local              #在当前路径创建一个.python-version,以后进入这个目录自动切换为该版本
pyenv shell              #在当前shell的session中启用某个Python版本,优先级高于global,local






查看当前系统上所安装的python版本
[iyunv@ansible1 ~]# pyenv versions
system
*2.7.6 (set by /root/.python-version)
3.3.3
wKiom1N4rJKAIeseAASb_fNtqXc772.jpg





五、pip安装与配置
  • 使用yum来安装pip
    [iyunv@ansible1 ~]# yum install python-pip
  • 更换pip的源为国内的,为什么,你懂得
    [iyunv@ansible1 ~]# ls -a
    .                .bash_history  .cshrc              .pip      .ssh      .vimrc
    ..               .bash_logout   .distlib            .pki      .tcshrc
    anaconda-ks.cfg  .bash_profile  install.log         .pyenv    test.sh
    .ansible         .bashrc        install.log.syslog  pyenv.sh  .viminfo
    # 我们可以看到pip.conf是不存在的
    [iyunv@ansible1 ~]# ls ~/.pip/
    pip.log
    [iyunv@ansible1 ~]# vim ~/.pip/pip.conf
    # 添加两行,定义使用国内的豆瓣的pip源
    [iyunv@ansible1 ~]# tail ~/.pip/pip.conf
    [global]
    index-url = http://pypi.douban.com/simple
    [iyunv@ansible1 ~]#



wKioL1N4rIrA98lBAALKgwbVTYM821.jpg



六、使用pip安装python相关软件

你还在使用系统自带的python来敲命令么,你out了,使用ipython吧,命令行下这个就够了
看到下面的这个报错,你明白为什么我们前面要安装pyenv了吧

wKiom1N4rNuAlSSvAANFGDfVHY0728.jpg
wKioL1N4rLPiGQ4fAAa_2pF0t3Q381.jpg
wKiom1N4rODTiHr0AALU2Ju21-k792.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19307-1-1.html 上篇帖子: python处理时间加减 下篇帖子: php5.2+php5.4 启动关闭脚本整合 管理软件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表