“[lib] 需要 [dep],它未安装”当 运行 对 conda-forge 原料进行 PR 测试时,尽管在 grayskull 生成的 meta.yaml 中有显式调用
"[lib] requires [dep], which is not installed" when running PR tests on conda-forge feedstock, despite explicit call in grayskull-generated meta.yaml
我正在尝试将 xagg
的 conda-forge 版本升级到最新版本 (v0.3.0)。当我将原料的 PR 设置到 conda-forge 存储库时,内置的 Azure Pipelines 测试 运行 但是失败,错误为:
import: 'xagg'
import: 'xagg'
+ pip check
xagg 0.3.0 requires pytables, which is not installed.
(完整日志为 here)
奇怪的是 pytables
在 meta.yaml
中明确提及(它是通过 grayskull
生成的,并在 PR 更改 here 中列出),并且,至少根据测试日志,已正确安装到测试 docker 环境中:
The following NEW packages will be INSTALLED:
[snip]
pytables: 3.7.0-py310hf5df6ce_0 conda-forge
[snip]
DEBUG:urllib3.connectionpool:https://conda.anaconda.org:443 "GET /conda-forge/linux-64/pytables-3.7.0-py310hf5df6ce_0.tar.bz2 HTTP/1.1" 200 4914957
[snip]
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
有人对如何解决此问题有任何建议吗?到目前为止,我所看到的 suggestions 是明确列出 meta.yaml
中的依赖关系。
我认为这可能是与 this question 类似的问题,不过是可选包,而不是内置包。
感谢任何帮助!
康达食谱看起来不错。正如 pip check
.
失败所表明的,实际上是上游包被破坏了
即,pip check
确保 setup.py
中列为依赖项的软件包全部安装。但是,v3.0.0 版本列出了一个 pytables
包,它不是有效的 PyPI 包。相反,这应该只是 tables
.
也许,这种混淆的产生是因为在 Conda 生态系统中 Python 包 tables
的名称为 pytables
。这只是拥有通用包管理器的问题的一部分——跨语言生态系统的包存在名称空间冲突,因此使用前缀或其他一些修饰符重命名(例如,所有 CRAN 包都有 r-
前缀)。因此,在 Conda 配方中,一个指示 Conda 包名称 (pytables
),但 pip check
将验证这实际上使 tables
模块可用。
我正在尝试将 xagg
的 conda-forge 版本升级到最新版本 (v0.3.0)。当我将原料的 PR 设置到 conda-forge 存储库时,内置的 Azure Pipelines 测试 运行 但是失败,错误为:
import: 'xagg'
import: 'xagg'
+ pip check
xagg 0.3.0 requires pytables, which is not installed.
(完整日志为 here)
奇怪的是 pytables
在 meta.yaml
中明确提及(它是通过 grayskull
生成的,并在 PR 更改 here 中列出),并且,至少根据测试日志,已正确安装到测试 docker 环境中:
The following NEW packages will be INSTALLED:
[snip]
pytables: 3.7.0-py310hf5df6ce_0 conda-forge
[snip]
DEBUG:urllib3.connectionpool:https://conda.anaconda.org:443 "GET /conda-forge/linux-64/pytables-3.7.0-py310hf5df6ce_0.tar.bz2 HTTP/1.1" 200 4914957
[snip]
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
有人对如何解决此问题有任何建议吗?到目前为止,我所看到的 suggestions 是明确列出 meta.yaml
中的依赖关系。
我认为这可能是与 this question 类似的问题,不过是可选包,而不是内置包。
感谢任何帮助!
康达食谱看起来不错。正如 pip check
.
即,pip check
确保 setup.py
中列为依赖项的软件包全部安装。但是,v3.0.0 版本列出了一个 pytables
包,它不是有效的 PyPI 包。相反,这应该只是 tables
.
也许,这种混淆的产生是因为在 Conda 生态系统中 Python 包 tables
的名称为 pytables
。这只是拥有通用包管理器的问题的一部分——跨语言生态系统的包存在名称空间冲突,因此使用前缀或其他一些修饰符重命名(例如,所有 CRAN 包都有 r-
前缀)。因此,在 Conda 配方中,一个指示 Conda 包名称 (pytables
),但 pip check
将验证这实际上使 tables
模块可用。