2014-11-21 108 views

回答

21

virtualenv和Vagrant之间的区别在于,virtualenv只是关于单独的Python安装,而Vagrant是关于整个机器。

  • 的virtualenv隔离Python解释器和一台计算机上Python的依赖关系,因此您可以用自己的依赖安装多个Python项目彼此旁边。但是对于机器的其余部分,virtualenv不会做任何事情:您仍然拥有使用Mac OS X/Linux软件包管理器安装的全局依赖项/软件包,并且它们在virtualenvs之间共享。

  • 流浪者指定整个机器:它允许您指定Linux发行版,要安装的软件包以及要安装该项目的操作。所以如果你想在这台机器上启动一个带有多个Python项目的Vagrant框,你仍然可以使用virtualenv来保持Python依赖关系的分离。

例如,在Mac OS X开发人员,在Ubuntu Linux开发人员可以使用的virtualenv保持他们的Python项目安装,但他们会需要使用放浪要本机启动在同一台机器(例如,一个Linux分布与部署的服务器相匹配)运行完全相同的Linux版本,并在其上安装相同的软件包并使用相同的Python项目安装。

所以,回答你的问题,使用Vagrant的原因是它允许你在本地创建一个安装了确切软件包的机器,而virtualenv只关心它自己的Python依赖关系。

+0

感谢您的解释@Simeon – 2017-05-17 15:47:58

相关问题