【问题标题】:Why do we need Virtual Environment in Django? [duplicate]为什么我们需要 Django 中的虚拟环境? [复制]
【发布时间】:2021-08-08 10:09:56
【问题描述】:

我是 Django 新手,我想知道为什么建议设置虚拟环境。 我问了google,发现Python提供了一个工具virtualenv来创建isolated Python 环境

不过,我不明白隔离环境的含义。 好吧,简单来说,我的问题是我不明白为什么我们需要一个简单的虚拟环境。

【问题讨论】:

  • 这与 Django 无关,甚至与 Python 无关(因为其他语言对同一问题有类似的解决方案)。这是为了避免“dependency hell”,其中不同的项目依赖于同一库的不同、不兼容的版本。

标签: python django virtualenv


【解决方案1】:

您可以在 PEP 405 中看到有关 python venv 的信息:https://www.python.org/dev/peps/pep-0405/

还有https://realpython.com/python-virtual-environments-a-primer/#why-the-need-for-virtual-environments中提到的一些原因:

考虑以下场景,您有两个项目:ProjectA 和 ProjectB,它们都依赖于同一个库 ProjectC。当我们开始需要不同版本的 ProjectC 时,问题就变得很明显了。例如,也许 ProjectA 需要 v1.0.0,而 ProjectB 需要更新的 v2.0.0。 这对于 Python 来说是一个真正的问题,因为它无法区分 site-packages 目录中的版本。所以 v1.0.0 和 v2.0.0 都将驻留在同名的同一个目录中: /System/Library/Frameworks/Python.framework/Versions/3.5/Extras/lib/python/ProjectC 由于项目仅根据其名称存储,因此版本之间没有区别。因此,ProjectA 和 ProjectB 这两个项目都需要使用相同的版本,这在很多情况下是不可接受的。

【讨论】:

    猜你喜欢
    • 2019-11-07
    • 2021-04-28
    • 2013-10-21
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多