📜  使用 venv 创建虚拟环境 | Python

📅  最后修改于: 2022-05-13 01:54:32.103000             🧑  作者: Mango

使用 venv 创建虚拟环境 | Python

虚拟环境是一种工具,它通过为不同项目创建隔离的Python虚拟环境来帮助保持不同项目所需的依赖关系。这是大多数Python开发人员使用的最重要的工具之一。

需要虚拟环境

想象一个场景,其中一个 Web 应用程序托管在具有Python开发环境的云托管服务提供商上。 Web 应用程序的配置带有一个用于安装最新版本的 Flask Web 框架的选项。假设,Web 应用程序是在本地系统上使用较旧版本的框架创建的,并且一旦将其上传到网站上,就会出现版本冲突,因为使用的某些模块在最新版本的 Flask 中已贬值。

使用虚拟环境

上述场景可以使用虚拟环境来解决。 Python开发环境可以通过使用一些虚拟环境来分离。在这里,虚拟环境是一个隔离的Python安装,它允许管理依赖项并在单独的Python项目上工作,而不会影响其他项目。创建虚拟环境时,它会从全局Python或其他虚拟环境中创建一个单独的文件夹,并将Python与其他几个站点包文件夹一起复制到其中。对于旧版本的Python,虚拟机需要安装一个名为 virtualenv 的第三方工具。它已被集成到模块 venv 下的 Python3 的较新版本中。要了解有关 virtualenv 的更多信息,请单击此处。

实现 venv

首先,检查 pip 是否具有与系统上相同的解释器版本以及Python环境当前所在的位置: 要检查Python当前所在的位置,请在终端中键入以下命令。

where python

where pip

输出:

要创建 virtualenv,请使用以下命令:

python -m venv ./venv

运行此命令后,将创建一个名为 venv 的目录。这是包含所有必要的可执行文件的目录,以使用Python项目所需的包。这是安装Python包的地方。要列出文件夹中的文件,请在终端中键入以下命令:

dir ./venv

输出: pip 命令仍然指向全局环境。我们需要显式激活创建的虚拟环境以配置当前 shell 会话以使用 virtualenv 文件夹中的 pip 命令,并且最终不要在全局环境中安装包:要激活 venv,首先将目录更改为 venv\Scripts。

cd venv\Scripts

更改目录后,键入以下命令。

$ Source venv_name\Scripts> activate

激活虚拟环境后,您的虚拟环境名称将出现在终端左侧。这将使您知道虚拟环境当前处于活动状态。在下图中,名为 venv 的虚拟环境处于活动状态。

(注意:如果使用 powershell 终端,请尝试“./activate”而不是“activate”) Python解释器也会从虚拟环境而不是全局环境中运行版本。我们可以通过以下命令验证Python环境当前所在的位置:

where python

输出:

E:\distribution\venv\Scripts\python.exe
C:\Users\GeeksforGeeks\AppData\Local\Programs\Python\Python37\python.exe

虚拟环境是一个几乎干净的Python环境。运行 pip list 以查看已安装软件包的列表:输出: 现在您可以在此虚拟环境中安装与项目相关的依赖项。例如,如果您将 Django 1.9 用于项目,则可以像安装其他软件包一样安装它。

(venv_name)$ pip install Django==1.9

完成工作后,您可以通过以下命令停用虚拟环境:

(venv_name)$ deactivate

现在您将回到系统的默认Python安装。