【问题标题】:Multiple activation of environment?多重激活环境?
【发布时间】:2023-03-15 23:07:01
【问题描述】:

我使用venv模块制作了虚拟环境并激活了它。

在我激活它之前,(base) D:\Python\venv 显示在终端中。由于我只安装了 Anaconda 和 VSCode,我猜这个(基础)环境来自 Anaconda3。

在我激活虚拟环境后,它被添加到(base)解释器的前面,如下所示:(venv) (base) D:\Python\venv。这是否意味着两个环境都处于激活状态?为了检查,当我输入 pip list 时,它只显示了 (venv) 环境的列表。那为什么(基本)环境会显示?使用 (venv) 时不停用 (base) 可以吗?我很困惑。

【问题讨论】:

  • 这只是意味着修改你的提示的代码在添加(venv)之前没有从提示中删除(base)

标签: python python-3.x virtualenv


【解决方案1】:

是的,您已经创建了多个虚拟环境。

是的,当我们开始时,虚拟环境可能会很混乱。

实际上,您可以通过多种方式创建虚拟环境。

要创建虚拟环境,您可以使用例如:

  • 康达
  • venv
  • 虚拟环境

您所做的是在另一个虚拟环境中创建了一个虚拟环境。

您已经使用“venv”创建了一个虚拟环境,然后在其中使用“conda”创建了一个虚拟环境。

其实“base”是conda默认的虚拟环境。 当您安装 Anaconda(或 miniconda)时,默认情况下,您的 python 安装始终位于虚拟环境中,称为“base”。

换句话说,当您安装 Anaconda(或 miniconda)时,默认情况下会创建一个名为“base”的虚拟环境。

在我看来,使用 conda 虚拟环境就足够了,不需要“venv”。 我还要说,在“venv”虚拟环境中使用 conda 虚拟环境太多了。

您应该卸载“env”虚拟环境,然后安装 Anaconda(或 miniconda)。

您可以使用 conda 创建除“base”之外的其他虚拟环境。 更多详情请查看https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

【讨论】:

  • 我明白了。我制作(venv)的原因是创建最小文件大小的exe文件。我想当我在(基本)环境中使用 pyinstaller 从某个 .py 文件创建 .exe 文件时,该文件的大小约为 200 MB。但是,当我在(venv)环境中从同一个 .py 文件创建 .exe 文件时,它只有 12 MB。我不知道为什么,但有人告诉我这样做。您能提出其他减少文件大小的建议吗?
  • @Donghoon LEE。我明白了,这是一个新问题。你可以问一个关于 SO 的新问题(如果不存在的话)。我不是 pyinstaller 的专家,但如果认为这是因为模块在 Anaconda 中具有的“可选依赖项”,而 pyinstaller 与“硬依赖项”(确实需要)没有区别。因此,当您使用 Anaconda 时,pyinstaller 会使用这些可选依赖项制作一个 exe,从而生成一个更大的 .exe 文件。所以,为了这个目的,你云尝试创建一个新的 venv 并通过 pip 只安装你需要的包,所以,没有安装 Anaconda。
  • @Donghoon LEE。也检查一下:stackoverflow.com/questions/48629486/…
猜你喜欢
  • 1970-01-01
  • 2016-11-28
  • 2022-10-17
  • 2021-12-18
  • 2020-03-14
  • 2016-06-08
  • 2013-12-03
  • 2021-09-06
相关资源
最近更新 更多