【问题标题】:Conda install many packages when I install python=3.8当我安装 python=3.8 时,Conda 安装了很多包
【发布时间】:2021-05-18 08:58:25
【问题描述】:

我尝试创建一个空的 anaconda 环境以安装项目的requirements.txt 文件。

我使用以下命令行:
conda create --name lsg --no-default-packages
conda install python=3.8

当我安装 python 3.8 时,conda 会安装许多包,例如pandas==1.2.3、scikit-learn==0.24.1 或seaborn==0.11.1,以及一些本地包,例如lsg==1.0。 这不是我想要的...

你知道这个错误可能来自哪里以及如何解决它吗?

编辑:
在这里,您可以找到安装 Python 3.8 时下载的所有包的示例。它比pip等默认包要多得多。

看起来 conda 从我的基础环境安装所有包

【问题讨论】:

  • 这能回答你的问题吗? conda environment has access to system modules, how to prevent? 也就是说,Conda 没有安装任何这些,而是​​您之前使用 pip install —user 安装了 Python 包。
  • 这可以回答我的部分回复。实际上,我的.local/lib/python3.8/site-packages 充满了这些包。 Conda 似乎在创建新环境时安装了这个包。我不知道这是从哪里来的,我从来没有用过pip install --user,我只用过pip3这个命令。
  • 还有@merv,你知道如何恢复默认site-packages吗?我想我不应该删除所有这些。
  • 澄清一下,Conda 并没有安装它们,而是site 模块自动检测它们并将它们包含在sys.path 中(Python 搜索模块的地方)。除非您计划维护 Python 的非 Conda 安装,否则您应该将它们全部删除(完全删除 python3.8 文件夹)。否则,您将不得不将该 python3.8 文件夹移动到 site 模块找不到它们的其他(非默认)位置,并且您将使用 PYTHONPATH 告诉非 Conda Python 安装在哪里找到它。
  • 感谢您的帮助@merv,这已经解决了我的问题。

标签: python anaconda package conda


【解决方案1】:

您可以通过提及包的版本来简单地为您正在创建的 conda 环境定义 python 版本。

conda create --name lsg --no-default-packages python=3.8

【讨论】:

  • 此命令不起作用。它还安装了许多包(与我之前的命令行安装的相同)
  • 您能否尝试为您的环境使用不同的名称,因为名称lsg 也是正在安装其依赖项的python 包的名称。此外,默认情况下会安装一些软件包,如 pip,作为您以功能方式使用环境的最低要求。
  • 我尝试使用环境名称lsg_test(这不是一个包),我遇到了同样的问题。
  • 所以基本上 Anaconda 是一个“数据科学平台”,所以我假设它会安装普通数据科学家所需的必要软件包。如果您不想安装此类额外的软件包,请尝试在 python 上使用 virtualenv。 VirtualEnv
  • 感谢您的帮助。正如我在帖子中编辑的那样,anaconda 不仅安装了数据科学所需的必要软件包,还安装了我的 base 环境中的所有软件包。而当我以 Python=3.9 为例安装时,情况并非如此
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
相关资源
最近更新 更多