为什么新的 Conda 环境没有像 numpy 这样的包?

Why doesn't a new Conda environment come with packages like numpy?

我正在经历学习如何在 Python/Anaconda 中管理包/不同(虚拟)环境的痛苦过程。有人告诉我,Anaconda 基本上是一个 python 安装,包含我需要的所有软件包(例如 numpy、scipy、sci-kit learn 等)。

但是,当我创建一个新环境时,none 这些包是现成可用的。在新创建的环境中使用 PyCharm 时,我无法导入它们。当我检查 Pycharm 项目解释器或 anaconda 导航器环境选项卡时,似乎确实 none 这些软件包安装在我的新环境中。 这是为什么?提供所有这些包对我来说没有意义,但在创建新环境时却没有让它们准备好使用。我是否必须在新环境中手动安装所有这些软件包,还是我遗漏了什么?

谨致问候,并提前致谢。

您可以使用以下命令检查您环境中的软件包:

conda list

如果没有列出包,您只需添加它,使用命令:

conda install numpy

Anaconda 附带可用的软件包,例如 numpy、scipy 和 sci-kit learn,但如果您想在您的环境中使用它们,您必须:

1) 创建环境:

conda create --name new_env 

2) 激活环境:

source activate new_env 

3) 使用 conda install

安装所需的包
conda install numpy

如果您想创建一个包含所有可用 Anaconda 软件包安装的新环境,请参阅 。您可以在环境中安装的软件包列表中包含 anaconda,这是一个 'meta-package',意思是 'all the packages that come with the Anaconda installation'。

我不知道 "conda" 环境,但通常虚拟环境用于为您提供 "unique" 环境。这可能包括不同的包、不同的环境变量等。

创建新虚拟环境的全部意义在于拥有一个单独的位置,您可以在其中安装项目所需的所有二进制文件(和其他资源)。 如果您在环境中有一些预安装的二进制文件,这是否违背了最初创建一个的目的?

您可以创建多个环境这一事实有助于您区分一个可能需要而另一个可能不需要的二进制文件。

例如,如果您正在创建一个需要 numpy:1.1 但安装了 numpy:2.1 的项目,那么您必须对其进行更改。所以基本上,通过不安装任何其他软件包,他们不会对您的项目要求做出假设。

默认 python 环境没有 numpy 的原因是因为您 不希望 numpy 在环境 .想象一下编写一个 API(或通用软件包),您的用户可能有权也可能无法访问 numpy您可能需要 运行 测试以确保您的软件正常失败,或者如果 numpy 未安装在您的用户计算机上,则具有纯粹的 python 回退。 Conda 环境提供了这个(非常有用的)好处。 当然,有问题的包 没有 numpy。有一些更深奥的包,其中这种类型的测试很有用。

此外,您可以创建一个预先安装了 numpy 的 conda 环境,或者您想要预先安装的任何其他软件包(只需将它们添加到 conda create 命令的末尾):

conda create --name my-env-name numpy