不同的人喜欢用不同的方式建立各自的开发环境,在一个开发者的电脑,我们经常会安装多个版本的开发环境,比如Java开发者会安装JDK1.7,jdk1.8;Python开发者安装Python2.7,3.4,3.6等多个版本。使用不同的开发环境虽然没有什么错误,但有些环境设置更容易进行便利的测试,并做一些重复/模板化的任务,使得在每天的日常工作简单并易于维护。
在Python的开发环境的最常用的方法是使用 virtualenv 包。 Virtualenv是一个用来创建独立的Python环境的包。现在,出现了这样的问题:为什么我们需要一个独立的Python环境?
我们需要处理的基本问题是包的依赖、版本和间接权限问题。想象一下,你有两个应用,一个应用需要libfoo的版本1,而另一应用需要版本2。如何才能同时使用这些应用程序?如果您安装到的/usr/lib/python2.7/site-packages(或任何平台的标准位置)的一切,在这种情况下,您可能会不小心升级不应该升级的应用程序。
virtualenv的出现很好的解决了包的依赖问题,我们可以给每个项目都创建一个相对独立的Python环境,这样我们就不在受包版本的限制,减少开发过程中一些未知的稀奇古怪的错误。
更多内容可以访问我的个人网站: http://www.cjluzzl.cn
下面我们来讲解一下virtualenv的安装和使用。
Windows 下
1.安装virtualenv
pip install virtualenv
2.virtualenv 虚拟环境名 用于新建虚拟环境
virtualenv test1
我们可以看到新建test1虚拟环境成功,得知虚拟环境的Python解释器所在目录
3.启动虚拟环境
1.cd test1/Script
2.activate.bat
4. 退出虚拟环境
deactivate.bat
我们看到文件目录前的"( 虚拟环境名 )"已经消失。
这种虚拟环境的配置解决了环境问题,但是如果我们有很多项目,需要很多个虚拟环境,显然我们需要一个更强大的工具来管理我们的虚拟环境,便于我们快速的创建和启动虚拟环境。
这个工具当然有,它的名字叫virtualenvwrapper
5.windows安装virtualenvwrapper,因为我使用的是windows系统,所以我在virtualenvwrapper后面加了-win
pip install virtualenvwrapper-win
6.创建虚拟环境(所有虚拟环境都在C:/Users/用户名/Envs)
mkvirtualenv 虚拟环境名
自动进入虚拟环境
deactivate 退出虚拟环境
7.workon查看当前所有虚拟环境
8.workon 虚拟环境名 进入虚拟环境
我们使用mkvirtualenv 来创建test2和test3这两个虚拟环境,然后通过pip 去安装一些不同的包来测试一下
我这里给test2安装了numpy,test3安装了Django
我们进入不同的虚拟环境看看一下,结果很显然,开发环境已经相对独立互不影响了。
Ubuntu下
1、安装virtualenv
sudo pip install virtualenv
2、安装virtualenvwrapper
sudo pip install virtualenvwrapper
完成上述两布后,系统是找不到mkvirtual命令的,我们需要配置一下环境变量
1)打开家目录 cd ~
2)创建.virtualenvs目录 mkdir .virtualenvs
3)添加到环境变量
在~/.bashrc中添加行:(注意等号两边不要有空格) export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh4)运行 source .bashrc 命令让环境变量生效
5)创建并使用虚拟环境
mkvirtualenv [虚拟环境名称] workon [虚拟环境名称] deactivate 退出虚拟环境
6)制定虚拟环境中的Python版本
mkvirtualenv -p /usr/bin/python2.7 [虚拟环境名] =====》 创建了一个2.7版本的虚拟环境
因为我这里有这个版本的Python,所以这样是可以的,可以输入 /usr/bin/python然后按两下tab键查看一下你的系统中存在哪几种Python环境。
7)通过pip批量安装包库
把你要安装的包写入一个txt文件中,你可以在两一个系统中运行pip list来查看安装过哪些包和版本,然后拷贝下来,另存为一个文件,我这里命名为require_package.txt
然后运行 pip install -r require_package