Python pyenv或virtualenv对Django至关重要吗?

Python pyenv或virtualenv对Django至关重要吗?,python,django,virtualenv,Python,Django,Virtualenv,我第一次用virtualbox和vagrant(CentOS 7)为Django创建了一个环境 但我看到的每个教程都说我需要使用pyenv或virtualenv。我认为它们是用来为Django创建虚拟环境的。但我不知道为什么我需要使用pyenv或virtualenv。(例如,Cakephp3不需要像pyenv或virtualenv这样的包。) 我使用的是virtualbox和vagrant,它们已经是虚拟环境了,所以我想我是在另一个虚拟环境中创建虚拟环境。我不确定这是否有意义。如果我使用的是vi

我第一次用virtualbox和vagrant(CentOS 7)为Django创建了一个环境

但我看到的每个教程都说我需要使用pyenv或virtualenv。我认为它们是用来为Django创建虚拟环境的。但我不知道为什么我需要使用pyenv或virtualenv。(例如,Cakephp3不需要像pyenv或virtualenv这样的包。)

我使用的是virtualbox和vagrant,它们已经是虚拟环境了,所以我想我是在另一个虚拟环境中创建虚拟环境。我不确定这是否有意义。如果我使用的是virtualbox或vmware之类的虚拟环境,那么pyenv和virtualenv可能不是必需的


它们对Django至关重要吗?当我在实际服务器中部署Django时,我还需要使用pyenv或virtualenv吗?

这不是必需的,但当您开始处理Django项目时,建议您在虚拟环境中工作

虚拟环境的重要性

  • 虚拟环境是一种让您的计算机上有多个版本的python而不会相互冲突的方法,每个版本都可以被视为一个开发环境,您可以将不同版本的python库和模块彼此隔离

  • 通过最简单的方式,虚拟环境为您提供了独立于主机操作系统的开发环境。您可以在virtualenv的
    /bin
    文件夹中安装和使用必要的软件,而不是使用主机上安装的软件

  • 很多时候,不同的项目需要相同软件包的不同版本,将每个项目保持在不同的虚拟环境中会有很大帮助


强烈建议为每个项目设置单独的VirtualNV。一旦你习惯了它,它对开发来说就显得相当琐碎和非常有用,消除了许多未来的麻烦。

它不是必不可少的,但当你开始从事Django项目时,建议你在虚拟环境中工作

虚拟环境的重要性

  • 虚拟环境是一种让您的计算机上有多个版本的python而不会相互冲突的方法,每个版本都可以被视为一个开发环境,您可以将不同版本的python库和模块彼此隔离

  • 通过最简单的方式,虚拟环境为您提供了独立于主机操作系统的开发环境。您可以在virtualenv的
    /bin
    文件夹中安装和使用必要的软件,而不是使用主机上安装的软件

  • 很多时候,不同的项目需要相同软件包的不同版本,将每个项目保持在不同的虚拟环境中会有很大帮助


强烈建议为每个项目设置单独的VirtualNV。一旦您习惯了它,它对开发来说就显得相当琐碎和非常有用,从而消除了许多未来的麻烦。

不,使用virtualenv for Django不是必需的,但推荐使用它,因为它隔离了系统上用于项目的python或库的多个版本。如果您没有使用virtualenv,那么该库将是python主目录的一部分

例如:
如果您在一个项目中使用某个库的版本1,以后在其他项目中必须使用该库,或者如果需要使用该库的版本2,那么在该项目中使用特定的virtualenv(如果您同时处理多个项目),您就可以使用多个库而不会出现任何问题。

否,使用virtualenv for Django并不是必需的,但推荐使用它,因为它隔离了系统上用于项目的python或库的多个版本。如果您没有使用virtualenv,那么该库将是python主目录的一部分

例如:
如果您在一个项目中使用某个库的版本1,以后在其他项目中必须使用,或者如果需要使用该库的版本2,则使用特定的virtualenv(如果您同时处理多个项目)对于该项目,您可以毫无问题地使用多个库。

VirtualBox将开发操作系统与正常操作系统隔离开来。Virtualenv将项目的Python包与系统Python包隔离开来

许多Linux发行版将Python软件包作为其他软件的依赖项安装到系统范围的
站点软件包
目录中。Python无法使用相同的名称对包进行版本设置,因此当您的项目依赖于
package==10.0.0
但您的发行版已经安装了
package==0.0.2
时,您将遇到问题,您无法升级而不破坏某些内容

虚拟环境非常轻量级。它们实际上只是
PATH
环境变量中的一个新条目,以及一些配置更改,以使Python只在特定位置查看包


使用virtualenv除了键入一个额外的命令来激活它之外,没有什么真正的缺点。

VirtualBox将开发操作系统与正常操作系统隔离开来。Virtualenv将项目的Python包与系统Python包隔离开来

许多Linux发行版将Python软件包作为其他软件的依赖项安装到系统范围的
站点软件包
目录中。Python无法使用相同的名称对包进行版本设置,因此当您的项目依赖于
package==10.0.0
但您的发行版已经安装时,您将遇到问题
p