【问题标题】:Now that python 2 is deprecated, do we still need to use the venv for creating virtual environment?现在 python 2 已经被弃用了,我们还需要使用 venv 来创建虚拟环境吗?
【发布时间】:2020-05-10 15:06:23
【问题描述】:

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

从 python 文档中可以看出

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

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

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

【问题讨论】:

  • 绝对是。我每周都会处理一些不同的项目,其中一些可能依赖于同一库的不同版本。

标签: python virtual-environment


【解决方案1】:

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

这意味着一个 Python 安装可能无法满足每个应用程序的要求。如果应用程序 A 需要特定模块的 1.0 版,而应用程序 B 需要 2.0 版,则要求存在冲突,安装 1.0 或 2.0 版都会导致一个应用程序无法运行。

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

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

【讨论】:

  • 其实我是从node后台来的,在node中,如果一个应用需要某个特定版本的库,那么我们在本地安装它,将使用本地版本而不是全局安装的版本跨度>
  • 但是我对您的回答并不肯定,因为我知道 python venv 是用于保留 python 版本而不是库版本,而且我主要的其他想法是 python 3.3。或 3.7 不会有任何重大更改
  • 不,亲爱的,它也适用于图书馆。我添加了一个链接到我的答案。看看吧。
  • 如果您觉得有帮助,别忘了将答案标记为正确。
  • 感谢 Jai,阅读该文档,我同意您的观点。
猜你喜欢
  • 1970-01-01
  • 2020-12-22
  • 1970-01-01
  • 2018-12-17
  • 2019-10-09
  • 2019-04-21
  • 2021-11-17
  • 1970-01-01
相关资源
最近更新 更多