Python多环境扩展管理

      Python发展至今,版本众多,在使用过程中经常遇到第三方库依赖的Python版本和系统Python版本不一致的情况。同时又因系统底层需调用当前版本Python,所以不能随意变更当前系统Python版本。如此情境下就会有Python多版本共存的情况。于是,Python多环境管理工具应运而生。Pyenv和Virtualenv均为Python管理工具,不同的是,Pyenv是对python的版本进行管理,实现不同版本之间的切换和使用;而Virtualenv则通过创建虚拟环境,实现与系统环境以及其他python环境的隔离,避免相互干扰。

1、Pyenv的部署和使用

    Pyenv是一个简单的python版本管理工具,以前叫做Pythonbrew。它让你能够方便地切换全局python版本,安装多个不同的python版本,设置独立的某个文件夹或者工程目录特异的python版本,同时创建python虚拟环境(virtualenv's)。所有这些操作均可以在类Unix系统的机器上(Linux和OS X)不需要依赖python本身执行,而且它工作在用户层,不需要任何sudo操作。

(1)部署

    pyenv作为python的版本管理工具,通过改变shell的环境变量来切换不同的python版本,以达到多版本共存的目的。该工具不支持windows系统。具体工作原理如下:

 

接下来开始部署pyenv

 

 

# git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

# echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

# exec "$SHELL"

 

若只有系统一个python版本,执行pyenv versions会显示:

 

若系统里有多个python版本,执行pyenv versions会显示:

 

 

实践操作:

system显示的是2.7.5版本,要再切回来的话执行:pyenv global system 而不是pyenv global 2.7.5

 

2、Virtualenv的部署与使用

    virtual是底层基于python开发的python环境隔离工具,其通过虚拟目录的方式来实现多环境并存。工作原理如下:在你所需要的地方创建工作目录,该目录类似系统安装的python目录,保留完整的python环境、解释器、标准库和第三方库等,当我们需要的时候,切换环境变量激活即可使用。

安装pip:

yum -y install python-pip python-devel

 

 

 

实践操作:

[root@localhost ~]# virtualenv /data/datafile/software/virtualpy  # 创建虚拟工作目录

New python executable in /data/datafile/software/virtualpy/bin/python2

Also creating executable in /data/datafile/software/virtualpy/bin/python

Installing setuptools, pip, wheel...done.

[root@localhost ~]# source /data/datafile/software/virtualpy/bin/activate  # 切换并激活虚拟工作环境

(virtualpy) [root@localhost ~]# deactivate   # 退出虚拟工作目录

[root@localhost ~]#

posted @ 2018-03-28 16:30  哈喽哈喽111111  阅读(1978)  评论(0编辑  收藏  举报