使用 python 为 django 设置虚拟环境的重要性
importance of virtual environment setup for django with python
我对使用 Django 开发 Web 应用程序的过程非常陌生,我遇到了为 python 设置和使用虚拟环境的过程。
所以我提出了一些基本问题。
这个虚拟环境到底是什么意思。
这对使用 django 和 python 模块开发网络应用程序有什么重要性吗?
我每次都要担心设置虚拟环境吗
在开发过程中。
虽然我无法直接描述 Django 和虚拟环境的体验,但我怀疑它与我使用 Flask 和 virtualenv 的方式非常相似。
- 虚拟环境完全如其所说 - 为您设置了一个环境来开发您的应用程序(包括您的网络应用程序),该环境不会影响您 运行 在您计算机上的库。它创建了一个白板,可以这么说,只有核心 Python 模块。您可以使用 pip 安装新模块并将其冻结到 requirements.txt 文件中,以便任何用户(包括您自己)都可以看到需要哪些外部库。
- 它非常重要,因为它能够跟踪外部库。例如,我在两台机器之间编程,并且我为每台机器设置了一个虚拟环境。 requirements.txt 文件允许我只安装我需要的库以及这些库的确切版本。这保证了当我准备好在生产机器上部署时,我知道我需要什么库。这可以防止我在虚拟环境之外安装的任何模块影响我 运行 在虚拟环境中的程序。
- 是也不是。出于上述原因,我认为使用虚拟环境并保持项目清洁是一种很好的做法。更不用说,搭建和维护虚拟环境并不困难。如果您只是 运行 编写一个小脚本来检查算法或方法,您可能不需要虚拟环境。但我仍然建议这样做,以保持您的 运行 时间环境清洁和管理良好。
虚拟环境是您拥有多个版本的一种方式
python 在你的机器上没有它们相互冲突,每个
版本可以被认为是一个开发环境,你可以
有不同版本的 python 库和模块全部隔离
从彼此
是的,这非常重要。例如没有 virtualenv,如果你是
从事使用 django 1.5
但在本地的开源项目
您的机器,您为其他个人项目安装了 django 1.9
。
你几乎不可能做出贡献,因为你会得到很多
由于 django
版本的差异而导致的错误。如果你决定
降级到 django 1.5
那么你就不能处理你的个人项目了
不再是因为他们依赖 django 1.9
.
virtualenv 会为您处理所有这一切,让您能够创建单独的
虚拟(开发)环境,彼此不相关并且可以
完成后可以轻松激活和停用。你也可以有
python
的不同版本
你不是被迫的,但你应该这样做,就这么简单:
virtualenv newenv
cd newenv
source bin/activate # The current shell uses the virtual environment
而且这对测试很重要,假设你想移植
一个从 1.5 到 1.9 的 django web 应用程序,你可以通过创建
不同的 virtualenv 和安装不同版本的 django。
如果不卸载一个版本(除了
你想搞乱 sys.path
这不是个好主意)
在most简单的方法中,虚拟环境为您提供独立于host操作系统的开发环境。您可以在virtualenv 的/bin 文件夹中安装和使用必要的软件,而不是使用安装在host 机器中的软件。
Python 开发一般依赖各种库和依赖。例如。如果你使用 sudo pip install django
安装最新版本的 pip,特定版本的 django 软件将在系统范围内可用。现在,如果你需要为一个项目使用另一个版本的django,你可以简单地创建一个virtaulenv,在其中安装那个版本的django,然后使用,而不需要打扰安装在os.[=11中的django版本=]
- 是的,强烈建议为每个项目设置单独的 virtualenv。一旦你习惯了它,它就会显得相当琐碎并且对开发非常有用,消除了很多未来的麻烦。
它允许您在 Python 和其他系统(如 PIP 和 Django)的不同依赖项和版本之间切换。
这类似于使用 Docker,您可以在其中挑选每个版本。绝对推荐。如果您是全新开始并使用最新版本,则不需要使用它,但是最好先安装 virtualenv 并在安装 django 之前开始使用它。
我对使用 Django 开发 Web 应用程序的过程非常陌生,我遇到了为 python 设置和使用虚拟环境的过程。 所以我提出了一些基本问题。
这个虚拟环境到底是什么意思。
这对使用 django 和 python 模块开发网络应用程序有什么重要性吗?
我每次都要担心设置虚拟环境吗 在开发过程中。
虽然我无法直接描述 Django 和虚拟环境的体验,但我怀疑它与我使用 Flask 和 virtualenv 的方式非常相似。
- 虚拟环境完全如其所说 - 为您设置了一个环境来开发您的应用程序(包括您的网络应用程序),该环境不会影响您 运行 在您计算机上的库。它创建了一个白板,可以这么说,只有核心 Python 模块。您可以使用 pip 安装新模块并将其冻结到 requirements.txt 文件中,以便任何用户(包括您自己)都可以看到需要哪些外部库。
- 它非常重要,因为它能够跟踪外部库。例如,我在两台机器之间编程,并且我为每台机器设置了一个虚拟环境。 requirements.txt 文件允许我只安装我需要的库以及这些库的确切版本。这保证了当我准备好在生产机器上部署时,我知道我需要什么库。这可以防止我在虚拟环境之外安装的任何模块影响我 运行 在虚拟环境中的程序。
- 是也不是。出于上述原因,我认为使用虚拟环境并保持项目清洁是一种很好的做法。更不用说,搭建和维护虚拟环境并不困难。如果您只是 运行 编写一个小脚本来检查算法或方法,您可能不需要虚拟环境。但我仍然建议这样做,以保持您的 运行 时间环境清洁和管理良好。
虚拟环境是您拥有多个版本的一种方式 python 在你的机器上没有它们相互冲突,每个 版本可以被认为是一个开发环境,你可以 有不同版本的 python 库和模块全部隔离 从彼此
是的,这非常重要。例如没有 virtualenv,如果你是 从事使用
django 1.5
但在本地的开源项目 您的机器,您为其他个人项目安装了django 1.9
。 你几乎不可能做出贡献,因为你会得到很多 由于django
版本的差异而导致的错误。如果你决定 降级到django 1.5
那么你就不能处理你的个人项目了 不再是因为他们依赖django 1.9
.virtualenv 会为您处理所有这一切,让您能够创建单独的 虚拟(开发)环境,彼此不相关并且可以 完成后可以轻松激活和停用。你也可以有 python
的不同版本你不是被迫的,但你应该这样做,就这么简单:
virtualenv newenv
cd newenv
source bin/activate # The current shell uses the virtual environment
而且这对测试很重要,假设你想移植 一个从 1.5 到 1.9 的 django web 应用程序,你可以通过创建 不同的 virtualenv 和安装不同版本的 django。 如果不卸载一个版本(除了 你想搞乱
sys.path
这不是个好主意)
在most简单的方法中,虚拟环境为您提供独立于host操作系统的开发环境。您可以在virtualenv 的/bin 文件夹中安装和使用必要的软件,而不是使用安装在host 机器中的软件。
Python 开发一般依赖各种库和依赖。例如。如果你使用
sudo pip install django
安装最新版本的 pip,特定版本的 django 软件将在系统范围内可用。现在,如果你需要为一个项目使用另一个版本的django,你可以简单地创建一个virtaulenv,在其中安装那个版本的django,然后使用,而不需要打扰安装在os.[=11中的django版本=]- 是的,强烈建议为每个项目设置单独的 virtualenv。一旦你习惯了它,它就会显得相当琐碎并且对开发非常有用,消除了很多未来的麻烦。
它允许您在 Python 和其他系统(如 PIP 和 Django)的不同依赖项和版本之间切换。
这类似于使用 Docker,您可以在其中挑选每个版本。绝对推荐。如果您是全新开始并使用最新版本,则不需要使用它,但是最好先安装 virtualenv 并在安装 django 之前开始使用它。