使用 python 为 django 设置虚拟环境的重要性

importance of virtual environment setup for django with python

我对使用 Django 开发 Web 应用程序的过程非常陌生,我遇到了为 python 设置和使用虚拟环境的过程。 所以我提出了一些基本问题。

  1. 这个虚拟环境到底是什么意思。

  2. 这对使用 django 和 python 模块开发网络应用程序有什么重要性吗?

  3. 我每次都要担心设置虚拟环境吗 在开发过程中。

虽然我无法直接描述 Django 和虚拟环境的体验,但我怀疑它与我使用 Flask 和 virtualenv 的方式非常相似。

  1. 虚拟环境完全如其所说 - 为您设置了一个环境来开发您的应用程序(包括您的网络应用程序),该环境不会影响您 运行 在您计算机上的库。它创建了一个白板,可以这么说,只有核心 Python 模块。您可以使用 pip 安装新模块并将其冻结到 requirements.txt 文件中,以便任何用户(包括您自己)都可以看到需要哪些外部库。
  2. 它非常重要,因为它能够跟踪外部库。例如,我在两台机器之间编程,并且我为每台机器设置了一个虚拟环境。 requirements.txt 文件允许我只安装我需要的库以及这些库的确切版本。这保证了当我准备好在生产机器上部署时,我知道我需要什么库。这可以防止我在虚拟环境之外安装的任何模块影响我 运行 在虚拟环境中的程序。
  3. 是也不是。出于上述原因,我认为使用虚拟环境并保持项目清洁是一种很好的做法。更不用说,搭建和维护虚拟环境并不困难。如果您只是 运行 编写一个小脚本来检查算法或方法,您可能不需要虚拟环境。但我仍然建议这样做,以保持您的 运行 时间环境清洁和管理良好。
  1. 虚拟环境是您拥有多个版本的一种方式 python 在你的机器上没有它们相互冲突,每个 版本可以被认为是一个开发环境,你可以 有不同版本的 python 库和模块全部隔离 从彼此

  2. 是的,这非常重要。例如没有 virtualenv,如果你是 从事使用 django 1.5 但在本地的开源项目 您的机器,您为其他个人项目安装了 django 1.9。 你几乎不可能做出贡献,因为你会得到很多 由于 django 版本的差异而导致的错误。如果你决定 降级到 django 1.5 那么你就不能处理你的个人项目了 不再是因为他们依赖 django 1.9.

    virtualenv 会为您处理所有这一切,让您能够创建单独的 虚拟(开发)环境,彼此不相关并且可以 完成后可以轻松激活和停用。你也可以有 python

    的不同版本
  3. 你不是被迫的,但你应该这样做,就这么简单:

    virtualenv newenv

    cd newenv

    source bin/activate # The current shell uses the virtual environment

    而且这对测试很重要,假设你想移植 一个从 1.5 到 1.9 的 django web 应用程序,你可以通过创建 不同的 virtualenv 和安装不同版本的 django。 如果不卸载一个版本(除了 你想搞乱 sys.path 这不是个好主意)

  1. 在most简单的方法中,虚拟环境为您提供独立于host操作系统的开发环境。您可以在virtualenv 的/bin 文件夹中安装和使用必要的软件,而不是使用安装在host 机器中的软件。

  2. Python 开发一般依赖各种库和依赖。例如。如果你使用 sudo pip install django 安装最新版本的 pip,特定版本的 django 软件将在系统范围内可用。现在,如果你需要为一个项目使用另一个版本的django,你可以简单地创建一个virtaulenv,在其中安装那个版本的django,然后使用,而不需要打扰安装在os.[=11中的django版本=]

  3. 是的,强烈建议为每个项目设置单独的 virtualenv。一旦你习惯了它,它就会显得相当琐碎并且对开发非常有用,消除了很多未来的麻烦。

它允许您在 Python 和其他系统(如 PIP 和 Django)的不同依赖项和版本之间切换。

这类似于使用 Docker,您可以在其中挑选每个版本。绝对推荐。如果您是全新开始并使用最新版本,则不需要使用它,但是最好先安装 virtualenv 并在安装 django 之前开始使用它。