2014-11-21 106 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