Python 虚拟环境,你会用吗(python虚拟环境安装和配置)
Python 虚拟环境有助于维护和管理依赖项
Fuzzy
想象一个场景,你作为一个 Python 程序员,正在处理两个基于 Python 的网站项目,其中一个使用 Django 1.9 版本,而另一个网站使用 Django 1.10 版本等等。在这种情况下,Python 虚拟环境可以非常实用,用于维护和管理两个项目的依赖关系(即使在你作为 Python 程序员开始为该项目编写自己的代码之前,Python 项目也需要的一切才能工作)。
什么是 Python 虚拟环境?
Python 虚拟环境是 Python 工具,主要用于帮助将多个 Python 项目所需的依赖项彼此分离,以便我们在进行 Python 项目开发时不会遇到任何依赖冲突。
所以,本质上,我们可以把 Python 虚拟环境想象成一个文件夹,其中存储了开发 Python 项目时以及部署后的所有依赖。现在,我所说的基于文件夹的方法将确保存储在文件夹(虚拟环境)中的所有 Python 模块、框架等不会被来自不同文件夹(虚拟环境)的任何其他框架、模块等干扰,这对开发来说非常好,因为我们作为程序员不希望在使用项目中的 Python 框架和库时遇到意外的行为,这样我们就不会花费大量时间在这里和那里寻找错误。
何时何地如何使用虚拟环境?
所以,我想你现在应该已经有点线索知道为什么我们需要 Python 虚拟环境了,但是,让我们比你现在学到的东西更深入一点。
默认情况下,计算机系统上的每个 Python 项目都会使用相同的目录(文件夹)来存储和检索包(您想在项目中使用的由其他 Python 开发者编写的第三方库/代码)。
有人可能会问这有什么关系?现在,在上面的两个网站开发项目示例中,你有两个版本的 Django 或其他框架、库等。这将对 Python 来说是一个真正的问题,因为它无法在包目录中区分这些版本。因此,由于我们还没有使用任何虚拟环境,Django v1.9 和 v1.10(在上面的示例中)将驻留在同一目录下,具有相同的名称。这就是虚拟环境发挥作用的地方。
要解决 Django v1.9 的代码与 v1.10 的代码冲突问题,我们只需为这两个项目(Django v1.9 和 v1.10)创建两个独立的虚拟环境。现在,关于这一点的好处是,你可以在电脑上拥有任意数量的虚拟环境,因为它们只是包含一些 Python 脚本的文件夹。
虚拟环境应在处理任何基于 Python 的项目时使用。通常,为每个您工作的基于 Python 的项目创建一个新的虚拟环境是一个好习惯和推荐做法,以确保每个项目的依赖项完全隔离,并受到您正在工作的系统和彼此的保护。
创建和管理虚拟环境所使用的工具
让我们现在看看一些可以用来创建、删除、激活、停用虚拟环境的 Python 工具或包。
1. Venv 是一个用于创建轻量级虚拟环境的 Python 模块。它是 Python 版本三(3)的默认虚拟环境模块,同时也是迄今为止创建虚拟环境中最易于使用的 Python 依赖管理模块之一。
Python3 Venv 安装命令: Python3 install venv
2. Virtualenv 另一方面是一个第三方依赖管理工具,用于创建和管理 Python 项目的依赖。它是 Python 2(2)语言中最常用和最受欢迎的虚拟环境模块。
Python2 virtualenv 安装命令:pip install virtualenv
3. Pipenv 是一种新的包管理器,用于管理 Python 项目的依赖关系,非常适合使用 pip、requirements.txt 等依赖项的常见典型工作流程。
现在,值得指出的是,在底层,Pipenv 通常将 pip 和 Virtualenv 的使用结合成一个简单的命令行工具,以便于使用。
Python3 Pipenv 安装命令:Python3 -m install pipenv
结论
创建 Python 虚拟环境时,我强烈建议您始终尝试使用“venv”作为环境名称,因为它是一个全局约定,在忽略文件如.gitignore 中很容易找到。
通常来说,使用虚拟环境是一个好习惯,因为它们可以帮助您节省数小时调试常见错误,如“没有模块”错误,此外,虚拟环境还能使 Python 开发者之间的协作变得容易。