当前位置: 首页 > 知识库问答 >
问题:

既然python 2已被弃用,我们还需要使用venv来创建虚拟环境吗?

王锐
2023-03-14

我们现在可以跳过使用venv创建虚拟环境吗,因为在大多数情况下现在只有python版本3可用?

从python文档中它html" target="_blank">声明

创建虚拟环境venv(适用于Python 3)和virtualenv(适用于Python 2)允许您管理不同项目的单独软件包安装。它们本质上允许您创建一个“虚拟”隔离的 Python 安装并将包安装到该虚拟安装中。

venv 模块支持创建具有自己的站点目录的轻量级“虚拟环境”,可以选择与系统站点目录隔离。每个虚拟环境都有自己的 Python 二进制文件(与用于创建此环境的二进制文件的版本匹配),并且可以在其站点目录中拥有自己独立的一组已安装的 Python 包。

是否有任何用例,我们希望将目录与系统站点目录隔离,因为现在只有一个版本的python?

共有1个答案

鄢朝斑
2023-03-14

因为 Python 应用程序通常会使用不作为标准库一部分的包和模块。应用程序有时需要特定版本的库,因为应用程序可能需要修复特定错误,或者应用程序可能使用库接口的过时版本编写。

这意味着一个Python安装可能不可能满足每个应用程序的要求。如果应用程序A需要特定模块的版本1.0,而应用程序B需要版本2.0,那么这些要求是冲突的,安装版本1.0或2.0将导致一个应用程序无法运行。

此问题的解决方案是创建一个虚拟环境。

看这个:https://docs.python.org/3/tutorial/venv.html

 类似资料:
  • 如何删除使用创建的虚拟环境 我可以删除目录吗? 这似乎是一个谷歌应该很容易回答的问题,但我只找到了删除用或创建的环境的答案。

  • 问题内容: 我正在使用 python 2.7 + virtualenv版本1.10.1 来运行myproject项目。由于其他一些项目要求,我不得不使用其他版本的python( Python 3.5 )和 Django 1.9 。为此,我在用户目录中安装了python。另外,我已经将virtualenv( version-15.1.0 )下载并安装到我的用户目录中。但是每当我尝试创建虚拟环境时,都

  • 我使用python 2.7虚拟环境版本1.10.1运行myproject项目。由于一些其他项目的要求,我必须使用Python的其他版本(Python 3.5)和Django 1.9。为此,我在我的用户目录中安装了python。此外,我已经下载并安装了虚拟环境(版本-15.1.0)到我的用户目录。但是每当我试图创建虚拟环境时,我都会遇到以下错误 谁能告诉我我做错了什么

  • 我在使用pyenv创建虚拟环境时遇到了一些麻烦。 这很好: 但是,当我创建一个虚拟环境(我假设是用Python 3.6.0完成的)并激活它时,我得到的是python3.7.4。如果我使用,情况也是一样的。 用语言来说,我想创建一个虚拟环境,其版本与当前通过pyenv激活的版本相同。我在这里错过了什么? 我的系统的一些信息: 我使用的是苹果操作系统。 我通过自制安装了Python 3.7.4,它是的

  • 我的系统正在运行CentOS 6。我没有管理员访问权限,所以sudo不可用。我有Python 2.7.3可用,以及和。我希望我可以使用这些来建立一个新的虚拟环境在其中安装 我尝试了这里描述的方法:在virtualenv中使用python3 但是得到了这个错误: 我的系统还安装了Python 3.4模块,因此我尝试了这一点,但virtualenv似乎无法在那里工作: 这似乎是有道理的,因为只有Pyt

  • 问题内容: 我有一个在Python 2虚拟环境中运行的Flask应用程序。 我希望运行Python 3程序,因此需要将python3安装到虚拟环境中。我该怎么做呢?我必须重新创建环境吗?这是困难的迁移吗? 问题答案: 不建议混合使用多个版本的Python。实际上,我什至认为这是不可能的。 创建一个新的virtualenv一点都不困难: 获取当前virtualenv中的模块列表 pip freeze