在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip
安装到Python3的site-packages
目录下。
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?
这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
命令如下:
pip install virtualenv
mkdir test
cd test
virtualenv --no-site-packages ven1
这样就创建了一个虚拟环境ven1,--no-site-packages的意思是,在创建新的环境的时候不复制当前环境已经安装的第三方包。
还有--distribute 选项使virtualenv使用新的基于发行版的包管理系统而不是 setuptools 获得的包。 你现在需要知道的就是 --distribute 选项会自动在新的虚拟环境中安装 pip。
命令:virtualenv venv2 --no-site-packages --python=python2.7
创建了py2.7的一个虚拟环境,注意这里的Python2.7必须在全局环境中设置,否则在这里可以写作绝对路径
virtualenv创建的虚拟环境使用的python版本在初始化的时候必须在机器上已经安装。