anaconda - conda env 导出中包含什么构建信息?
问题描述
使用conda env export
时可以使用以下命令删除构建信息--no-build
:
...
dependencies:
- _libgcc_mutex=0.1=main
- attrs=19.3.0=py_0
- backcall=0.1.0=py37_0
- beautifulsoup4=4.8.2=py37_0
- biopython=1.76=py37h7b6447c_0
- blas=1.0=mkl
- bleach=3.1.0=py37_0
...
与--no-build
dependencies:
- _libgcc_mutex=0.1
- attrs=19.3.0
- backcall=0.1.0
- beautifulsoup4=4.8.2
- biopython=1.76
- blas=1.0
- bleach=3.1.0
- bzip2=1.0.8
- ca-certificates=2020.1.1
你能详细解释一下这个构建信息到底是什么吗?编译器及其版本?里面还有什么?
解决方案
构建信息是配方中变体键的哈希。引用文档:
外卖的信息是当二进制兼容性很重要时会出现哈希,但不重要时不会出现。
和
从 conda-build 3.1.0 开始,此哈希方案已被简化。如果所有这些对于任何依赖项都为真,则将添加一个哈希:
包是构建、托管或运行依赖项中的显式依赖项。
包在 conda_build_config.yaml 中有一个匹配的条目,它是特定版本的引脚,而不是下限。
ignore_version 不会忽略该包。
或者
- 包使用
{{ compiler() }}
Jinja2 功能。
文档在这里:https ://docs.conda.io/projects/conda-build/en/latest/resources/variants.html#differentiating-packages-built-with-different-variants还有一篇博文(我现在找不到)还有更多信息。
推荐阅读
- python - tkinter 窗口没有响应
- python - 在 python 中只转发带有 tweepy 的媒体的推文
- css - 如何在部分中显示固定的视频背景?
- javascript - 如何检查字符串是 xml 还是不使用 Node.js
- php - 如何从 AWS ECS 容器访问 Laravel 原生日志文件(storage/logs/)?
- oracle - regexp_replace 从包含 - 的字符串中提取
- java - 如何在不知道 id 的情况下选择 SQLite DB 的最后一个条目?
- r - 在 ggplot 中使用辅助轴时图例不可见
- django - 使用 django annotate 计算两个日期时间字段之间的时间差(减去时间范围 10PM 到 9AM)?
- asp.net - 401 错误后使用 C# 调用 Dynamics NAV Web 服务成功