一、介绍:
python发展至今,版本众多,部分版本功能相差较大,经常可能会遇到第三方库依赖的py版本和现有版本不一致但又不能升/降现有py的情况。于是,py多环境管理工具应运而生。
二、工具:
pyenv:python版本切换工具(不支持windows)
virtualenv:python虚拟环境配置工具
三、安装:
1.1、pyenv安装:
-
clone pyenv至家目录
-
#git clone git://github.com/yyuu/pyenv.git ~/.pyenv
-
修改环境变量
-
#echo `export PYENV_ROOT="$HOME/.pyenv"` >> ~/.bashrc
-
#echo `export PATH="$PYENV_ROOT/bin:$PATH"` >> ~/.bashrc
-
添加pyenv init
-
#echo `eval "$(pyenv init -)"` >> ~/.bashrc
-
重启当前shell
-
#exec $SHELL -l
1.2、pyenv使用:
-
查看当前pyenv可检测到的所有版本,处于激活状态的版本前以*标示。
-
#pyenv versions
-
查看当前处于激活状态的版本,括号中内容标示这个版本是由哪条途径激活的(global、local、shell)
-
#pyenv version
-
查看可安装的版本列表
-
#pyenv install --list
-
安装制定的Python版本到$PYENV_ROOT/versions下,-v显示细节
-
#pyenv install -v 2.7.3
-
为所有已安装的可执行文件 (如:~/.pyenv/versions/*/bin/*) 创建 shims,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
-
#pyenv rehash
-
卸载版本
-
#pyenv uninstall 2.7.3
-
设置全局python版本,通过将版本号写入~/.pyenv/version文件的方式。
-
#pyenv global 3.4.0
-
设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version文件的方式。local优先级较global高。pyenv会从当前目录开始向上逐级查找.python-version文件,直到根目录为止。若找不到,就用global版本。
-
#pyenv local 2.7.3
-
设置面向shell的pyton版本,通过设置当前shell的PYENV_VERSION环境变量的方式。这个版本优先级比local和global都要高。--unset参数可以用于取消当前shell设定的版本。
-
#pyenv shell pypy-2.6.0
-
#pyenv shell --unset
-
2.1、virtualenv安装
virtualenv是纯python开发的python环境隔离工具。
工作原理:在你所需要的地方创建工作目录,该目录类似系统安装的python目录,保留完整的python环境、解释器、标准库、第三方库等,当需要时,切换变量激活即可使用。
-
已经安装pip
-
#pip -V
-
pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)
-
#pip install 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
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
-
# virtualenv --version
-
15.0.1
2.2、virtualenv使用
-
创建虚拟环境
-
#virtualenv /data/datafile/software/virtualpy/
-
New python executable in /data/datafile/software/virtualpy/bin/python
Installing setuptools, pip, wheel...done.
-
进入虚拟环境
-
#source /data/datafile/software/virtualpy/bin/activate
-
(virtualpy) [root@localhost ~]#
-
退出虚拟环境
-
#deactivate
阅读(1126) | 评论(0) | 转发(0) |