我真的需要和Django一起使用virtualenv吗?

时间:2015-07-07 08:49:01

标签: python django vagrant virtualenv

这可能是新手很臭但是......

我正在研究我的第一个Django项目,我正在阅读很多使用virtualenv被认为是最佳实践。我理解virtualenv沙箱我所有的python依赖项但我不知道如果我在沙盒虚拟机中工作是否有必要吗?我正在Vagrant中开发,并且不会将这些VM用于其他任何事情,而且我将部署到只有这个Django项目的VM服务器上。是否有可能在未来该项目中的更多Django应用程序将需要不同的依赖项,因此需要在不同的virtualenv? (不确定它是否像那个tbh一样工作?)

我只是表现出我的经验不足和短视吗?

5 个答案:

答案 0 :(得分:5)

我总是建议您使用virtualenv作为理所当然的事。这样做几乎没有任何开销,只会让事情变得更容易。结合virtualenvwrapper,你可以轻松地输入workon myproject来激活并一次性cd到你的virtualenv。您可以避免使用sudo进行安装以及与系统安装的软件包不兼容的任何问题。真的没有理由不这样做。

答案 1 :(得分:3)

我对Vagrant没有任何了解,但我在我的Django项目中使用了virtualenvs。我会推荐给任何人。

话虽如此,如果您只是在虚拟机上使用一个Django项目,那么 需要才能使用virtualenv。我没有遇到过同一项目中的应用程序存在冲突依赖关系的情况。如果您在同一台计算机上有多个项目,则可能会出现问题。

答案 2 :(得分:1)

在开发计算机上使用虚拟环境有很多好处。

  • 您可以访问任何受支持模块的任何版本以检查问题
  • 您的项目在不同的环境下运行,不会与系统范围的模块和设置冲突
  • 测试很简单
  • 同一项目的Muliple版本可以共存。

答案 3 :(得分:0)

如果您使用不同的django版本开发多个项目,virtualenv只是必须的东西,没有其他方式(不是我所知道的)。如果你曾经历过依赖地狱,你会在virtualenv中感受到天堂。即使你开发了一个项目,我也建议在virtualenv内部进行编码,你永远不知道接下来会发生什么,在那些日子里,我的旧笔记本电脑几乎因为许多依赖性问题而崩溃,在我发现virtualenv之后,我的旧笔记本电脑变成了一个品牌我眼睛的新笔记本电脑..

答案 4 :(得分:0)

不,在你的情况下,你不需要打扰virtualenv。由于您使用的是专用虚拟机,因此您作为一个菜鸟并不是真正需要的复杂层。

Virtualenv在概念和用途上非常简单,因此您可以在需要时将其简单地分层。但是,imho,在添加间接之前学习如何真正布局python安装有额外的价值。当你遇到可以解决的问题时,那就去吧。但就目前而言,保持简单:不要打扰。