【问题标题】:Anaconda Environment Installing Packages Numpy-BaseAnaconda 环境安装包 Numpy-Base
【发布时间】:2018-11-14 21:23:13
【问题描述】:

在安装了几个包并使用conda install 更新TensorFlow 包后,运行命令conda list 时,我看到有两个numpy 包:

  1. numpy-base

  2. numpy

    numpy 1.14.3 py35h9bb19eb_2
    numpy-base 1.14.3 py35h7ef55bc_1

问题:

  1. 为什么我有两个 numpy 版本?
  2. 正在使用哪一个?为什么还要安装numpy-base 包?

【问题讨论】:

  • 这似乎是 Anaconda 在构建软件包时所做的拆分。不知道他们为什么这样做
  • 嘿@darthbith,你说的“分裂”是什么意思?拆分为将原始 numpy-package 拆分为两部分,以便例如包“numpy-base”可能总是包含相同的内容,因为它是稳定的代码而不会更新/更改,而一旦 numpy 的开发人员发布新版本,包“numpy”实际上包含所有更新/更改?
  • 通过拆分,我的意思是看起来他们将一些包放在numpy-base 中,而其余的放在numpy 包中。我不确定拆分到底是什么,或者为什么这样做,或者什么代码在哪里。对不起!你可以在他们的 Github 存储库上提出问题,询问为什么会这样:github.com/ContinuumIO/anaconda-issues/issues
  • 感谢您的澄清!

标签: numpy anaconda python-3.5


【解决方案1】:

numpy,这里是元包的示例,而numpy-base 是原始的 numpy 库包。

当 conda 包仅用于元数据并且不包含任何文件时,它被称为元包。元包可能包含对几个核心、低级库的依赖关系,并且可以包含指向在执行时自动下载的软件文件的链接。元包用于捕获元数据并使复杂的包规范更简单。

conda包的结构如下,元包只包含info文件夹。

.
├── bin
│   └── f2py
├── info
│   ├── LICENSE.txt
│   ├── files
│   ├── index.json
│   ├── paths.json
│   └── recipe
└── lib
    └── python3.x

如果您查看numpymeta.yaml 文件,它实际上有一个评论说

numpy 是一个元包,可能包含 mkl_fft 和 mkl_random,这两者都需要 numpy-base 来构建。

阅读更多关于conda packages的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 2018-11-17
    • 2021-02-11
    相关资源
    最近更新 更多