2023 年 11 月发布
2023 年 11 月的发布包括对三个 conda 社区项目的更新:conda、conda-build 和 conda-libmamba-solver!🎉 这些项目都已发布到 main
和 conda-forge
。
Conda 23.11.0 的变更 23.11.0
要更新 conda,请运行
conda install -n base conda=23.11.0
📢 特别公告 📢
新的 menuinst
v2 支持!
conda
长期以来一直支持 Windows 上的开始菜单项。 这使得用户可以在 CMD(命令提示符)中打开预先初始化了 conda
会话的 Miniconda 提示符。 此菜单项(或快捷方式)的创建逻辑由 menuinst
包提供。
随着 23.11.0 的发布,conda
现在支持 menuinst
v2,这使得在 Windows、Linux 和 macOS 上拥有相同的体验成为可能。 这意味着软件包构建者将能够在所有操作系统上提供桌面图标,这对于 GUI 应用程序尤其有用。 有关更多详细信息,请参阅文档。
如果您不希望 conda
创建快捷方式,您可以通过以下方式禁用它
- 在您的
.condarc
配置文件中添加shortcuts: false
条目 CONDA_SHORTCUTS=false
环境变量--no-shortcuts
命令行标志
✨ 新增功能?✨
- 引入一个新的插件钩子
CondaHealthCheck
,作为conda doctor
的一部分。 - 在
--help
命令列表中包含activate
和deactivate
。 - 优先下载较大的软件包,以防止较小的软件包等待。
- 在
conda info
输出中显示使用的求解器,以用于调试目的。 - 添加
__conda
虚拟软件包。 - 为中断的软件包下载实现恢复功能。
🔧 修复了什么?🔧
- 在
info
级别记录预期的 JLAP 范围请求错误,这些错误在远程文件回滚时发生。 - 修复了当使用
--debug
等选项但未指定命令时导致错误的错误。 - 改进了并行下载线程的 CTRL-C(取消)处理。
- 允许覆盖
CONDA_FETCH_THREADS
/fetch_threads
以设置默认值5
之外的并行软件包下载。 - 需要
requests >=2.28
以增强response.json()
异常处理。 - 在
conda.plan
中应用callback=reset_context
以解决conda-build
+conda-libmamba-solver
的不兼容性。
🌅 标记为弃用的内容? 🌅
- 删除
ruamel_yaml
回退; 仅使用ruamel.yaml
。 - 标记
conda.plugins.subcommands.doctor.health_checks.display_health_checks
为即将弃用。 - 标记
conda.plugins.subcommands.doctor.health_checks.display_report_heading
为即将弃用。 - 标记
conda.gateways.anaconda_client.EnvAppDirs
为即将弃用。 请改用platformdirs
。 - 标记
conda._vendor.cpuinfo
为即将弃用。 - 从
requests
/pip
的 vendoredchardet
切换到charset_normalizer
。 - 从
conda._vendor.appdirs
切换到platformdirs
。 - 从
conda._vendor.distro
切换到distro
。
📄 文档新增功能?📄
https://docs.conda.org.cn/ 文档已进行了重大改版!🎉
去看看,让我们知道您的想法!🤩
Conda-Build 3.28.0/3.28.1 的变更
要更新 conda-build,请运行
conda install -n base conda-build=3.28.1
📢 特别公告 📢
在即将到来的 conda-build 2024 年 1 月版本中,正在进行重大更改。 我们将过渡到 CalVer 版本控制系统。 此外,我们将正式采用 CEP 8 来管理我们的发布时间表。 此外,将采用加速版的 CEP 9 来处理弃用,省略了待弃用阶段,并将从弃用到删除的期限缩短至仅 2 个月。
✨ 新增功能?✨
- 添加类似于
compiler
的stblib
jinja 函数,以显式定义 sysroot 依赖项。 - 利用 conda-known 子目录进行选择器定义,使
conda_build
仅通过更新的conda
版本即可支持新的架构。 新的操作系统支持需要额外的信息才能实现正确的conda_build
功能,包括类似 UNIX 的平台指定、共享库前缀和平台的二进制存档格式。 - 消除
conda_build.build.test
中不必要的缓存清除。 - 整合
which_package
实现,并将conda.models.dist.Dist
的用法替换为conda.models.records.PrefixRecords
。
🔧 修复了什么?🔧
- 在
get_hash_input
中显示软件包文件名。 - 回退到已解决的记录文件名,以在
get_upstream_pins
中定位下载的 tarball。 - 防止在较低优先级的
cbc.yaml
中不存在时,覆盖高优先级cbc.yaml
条目中的变体。 - 更正对缺少 anaconda-client 的检查,以显示有用的错误消息。
- 修复
conda_index.index
详细DEBUG
/INFO
消息日志记录。 - (3.28.1)当定义了
outputs
时,放宽对package/version
的元数据检查。
🌅 标记为弃用的内容? 🌅
- 标记
conda_build.environ.clean_pkg_cache
为即将弃用。 - 标记
conda_build.conda_interface.IndexRecord
为即将弃用。 请改用conda.models.records.PackageRecord
。 - 标记
conda_build.os_utils.pyldd.is_string
为即将弃用。 请改用isinstance(value, str)
。 - 标记
conda_build.os_utils.pyldd.is_codefile
为即将弃用。 请改用conda_build.os_utils.pyldd.codefile_class
。 - 标记
conda_build.os_utils.pyldd.codefile_type
为即将弃用。 请改用conda_build.os_utils.pyldd.codefile_class
。 - 标记
conda_build.inspect_pkg.dist_files
为即将弃用。 - 标记
conda_build.inspect_pkg.which_package(avoid_canonical_channel_name)
为即将弃用。 - 标记
conda_build.inspect_pkg._installed
为即将弃用。 - 标记
conda_build.os_utils.ldd.get_package_files
为即将弃用。 - 标记
conda_build.os_utils.pyldd.mach_o_change
为即将弃用。 - 标记
conda_build.os_utils.pyldd.inspect_rpath
为即将弃用。 - 标记
conda_build.os_utils.pyldd.get_runpaths
为即将弃用。 - 标记
conda_build.os_utils.pyldd.otool_sys
为即将弃用。 - 标记
conda_build.os_utils.pyldd.ldd_sys
为即将弃用。 - 标记
conda_build.post.determine_package_nature
为即将弃用。 请改用conda_build.post.get_dsos
和conda_build.post.get_run_exports
。 - 标记
conda_build.post.library_nature(subdir, bldpkgs_dirs, output_folder, channel_urls)
为即将弃用。 - 标记
conda_build.post.dist_from_names
为即将弃用。 请查询conda.core.prefix_data.PrefixData
。 - 标记
conda_build.post.FakeDist
为即将弃用。 请改用conda.models.records.PrefixRecord
。 - 标记
conda_build.post._get_fake_pkg_dist
为即将弃用。 请改用conda.models.records.PrefixRecord
。 - 标记
conda_build.utils.relative
为即将弃用。 请改用os.path.relpath
或pathlib.Path.relative_to
。
📄 文档新增功能?📄
https://docs.conda.org.cn/ 文档已进行了重大改版!🎉
去看看,让我们知道您的想法!🤩
Conda-Libmamba-Solver 23.11.0/23.11.1 的变更
要更新 conda-libmamba-solver,请运行
conda install -n base conda-libmamba-solver=23.11.1
✨ 新增功能?✨
- (23.11.1)当 libmamba 检测到配置的求解器作业中存在问题时,引发更友好的
InvalidSpec
错误,而不是RuntimeError
。 - (23.11.1)确保 specs、
SolverInputState.installed
和SolverInputState.virtual
容器始终排序。
🔧 修复了什么?🔧
- 不要使用
libmamba
的默认信号处理程序,以便用户可以从conda
中使用Ctrl-C
。 - 推迟 conda-build 特定的异常定义和导入,直到求解器需要它。
- 将“被严格优先级排除”的求解器错误解释为适当的满足性冲突,并避免打印相关但无信息的警告。
- 确保历史 specs 保留在环境中,即使这意味着引发冲突。
- (23.11.1)仅配置一次 pinned specs,以避免与它们的持久性相关的求解器错误(即,如果存在 pinned specs 并且需要删除瞬态依赖项,则无法降级环境)。
- (23.11.1)检测通道是否是多通道的一部分,以便后者用于 conda-build 的
PackageRecord
条目中。 修复了 conda-build 和自定义多通道的问题。 - (23.11.1)允许在
default_channels
和其他多通道中使用经过身份验证的 URL。 - (23.11.1)在重新加载本地通道时保留身份验证。
📄 文档新增功能?📄
https://conda.github.io/conda-libmamba-solver/ 文档已进行了重大改版!🎉
去看看,让我们知道您的想法!🤩
我们 ❤️ 我们的社区
总而言之,在这个发布周期中,我们有 7 位(!)新贡献者; 感谢我们所有的开源社区成员帮助使这些改进成为可能。
- @13rac1 在以下项目中做出了他们的首次贡献 conda#13191
- @AniketP04 在以下项目中做出了他们的首次贡献 conda#13224
- @danpetry 在以下项目中做出了他们的首次贡献 conda-build#5039
- @gfggithubleet 在以下项目中做出了他们的首次贡献 conda#13270
- @h-vetinari 在以下项目中做出了他们的首次贡献 conda-build#4999
- @kennethlaskoski 在以下项目中做出了他们的首次贡献 conda#13322
- @scruel 在以下项目中做出了他们的首次贡献 conda#13274
如果您有任何想法或想帮助改进任何 conda 社区项目,我们非常欢迎新的(和回归的)贡献者!😄