自动化运维工具之python多环境管理

1080阅读 0评论2016-05-09 sxm5211258
分类:系统运维

一、介绍:
     python发展至今,版本众多,部分版本功能相差较大,经常可能会遇到第三方库依赖的py版本和现有版本不一致但又不能升/降现有py的情况。于是,py多环境管理工具应运而生。
 
二、工具:
      pyenv:python版本切换工具(不支持windows)
      virtualenv:python虚拟环境配置工具
三、安装:
      1.1、pyenv安装:            

点击(此处)折叠或打开

  1. clone pyenv至家目录
  2. #git clone git://github.com/yyuu/pyenv.git ~/.pyenv
  3. 修改环境变量
  4. #echo `export PYENV_ROOT="$HOME/.pyenv"` >> ~/.bashrc
  5. #echo `export PATH="$PYENV_ROOT/bin:$PATH"` >> ~/.bashrc
  6. 添加pyenv init
  7. #echo `eval "$(pyenv init -)"` >> ~/.bashrc
  8. 重启当前shell
  9. #exec $SHELL -l

      1.2、pyenv使用:
          

点击(此处)折叠或打开

  1. 查看当前pyenv可检测到的所有版本,处于激活状态的版本前以*标示。
  2. #pyenv versions
  3. 查看当前处于激活状态的版本,括号中内容标示这个版本是由哪条途径激活的(global、local、shell)
  4. #pyenv version
  5. 查看可安装的版本列表
  6. #pyenv install --list
  7. 安装制定的Python版本到$PYENV_ROOT/versions下,-v显示细节
  8. #pyenv install -v 2.7.3
  9. 为所有已安装的可执行文件 (如:~/.pyenv/versions/*/bin/*) 创建 shims,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
  10. #pyenv rehash
  11. 卸载版本
  12. #pyenv uninstall 2.7.3
  13. 设置全局python版本,通过将版本号写入~/.pyenv/version文件的方式。
  14. #pyenv global 3.4.0
  15. 设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version文件的方式。local优先级较global高。pyenv会从当前目录开始向上逐级查找.python-version文件,直到根目录为止。若找不到,就用global版本。
  16. #pyenv local 2.7.3
  17. 设置面向shell的pyton版本,通过设置当前shell的PYENV_VERSION环境变量的方式。这个版本优先级比local和global都要高。--unset参数可以用于取消当前shell设定的版本。
  18. #pyenv shell pypy-2.6.0
  19. #pyenv shell --unset



         2.1、virtualenv安装
                virtualenv是纯python开发的python环境隔离工具。
                工作原理:在你所需要的地方创建工作目录,该目录类似系统安装的python目录,保留完整的python环境、解释器、标准库、第三方库等,当需要时,切换变量激活即可使用。

点击(此处)折叠或打开

  1. 已经安装pip
  2. #pip -V
  3. pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)
  4. #pip install virtualenv
  5. /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
      InsecurePlatformWarning
    You are using pip version 7.1.0, however version 8.1.1 is available.
    You should consider upgrading via the 'pip install --upgrade pip' command.
    Collecting virtualenv
    /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
      InsecurePlatformWarning
      Downloading virtualenv-15.0.1-py2.py3-none-any.whl (1.8MB)
        100% |????????????????????????????????| 1.8MB 29kB/s 
    Installing collected packages: virtualenv
    Successfully installed virtualenv-15.0.1

  6. # virtualenv --version
  7. 15.0.1

          2.2、virtualenv使用
                  

点击(此处)折叠或打开

  1. 创建虚拟环境
  2. #virtualenv /data/datafile/software/virtualpy/
  3. New python executable in /data/datafile/software/virtualpy/bin/python
    Installing setuptools, pip, wheel...done.
  4. 进入虚拟环境
  5. #source /data/datafile/software/virtualpy/bin/activate
  6. (virtualpy) [root@localhost ~]#
  7. 退出虚拟环境
  8. #deactivate


                           
上一篇:自动化运维工具ansible之安装(一)
下一篇:自动化运维工具ansible之Ad-hoc与commands模块(五)