Python 如果我使用virtualenv,为什么要使用vagrant?
我读了这个问题,但我想知道相反的情况 我在UNIX/Linux环境(分别是MAC OSX和Ubuntu)中编程和部署,并使用VirtualNV保持环境隔离Python 如果我使用virtualenv,为什么要使用vagrant?,python,django,virtual-machine,vagrant,virtualenv,Python,Django,Virtual Machine,Vagrant,Virtualenv,我读了这个问题,但我想知道相反的情况 我在UNIX/Linux环境(分别是MAC OSX和Ubuntu)中编程和部署,并使用VirtualNV保持环境隔离 事实上,我从未遇到过任何问题,但我看到一些人和很多教程建议一起使用它们,我想知道是否以及为什么我应该使用vagrant,有人能给我解释一下吗?virtualenv和Vagrant的区别在于virtualenv只涉及单独的Python安装,而Vagrant则涉及整个机器 virtualenv将Python解释器和Python依赖项隔离在一台机
事实上,我从未遇到过任何问题,但我看到一些人和很多教程建议一起使用它们,我想知道是否以及为什么我应该使用vagrant,有人能给我解释一下吗?virtualenv和Vagrant的区别在于virtualenv只涉及单独的Python安装,而Vagrant则涉及整个机器
- virtualenv将Python解释器和Python依赖项隔离在一台机器上,这样您就可以使用它们自己的依赖项一起安装多个Python项目。但是对于机器的其余部分,virtualenv没有做任何事情:您仍然拥有使用Mac OS X/Linux软件包管理器安装的全局依赖项/软件包,这些依赖项/软件包在virtualenv之间共享
- Vagrant指定整个机器:它允许您指定Linux发行版、要安装的软件包以及安装项目要采取的操作。因此,如果您想在该机器上启动一个包含多个Python项目的Vagrant box,您仍然可以使用virtualenv来保持Python依赖关系的分离
因此,为了回答您的问题,使用Vagrant的原因是它允许您在本地创建一台安装了确切软件包的机器,而virtualenv只关心Python依赖项。感谢@Simeon的解释