Conda、Conda-Build 和 Conda-Libmamba-Solver 的五月发布
五月发布已到!🎊 Conda 23.5.0、conda-build 3.25.0 和 conda-libmamba-solver 23.5.0 现在已在 main 和 conda-forge 上提供
Conda 中的更改
要更新 conda,请运行
conda install -n base conda=23.5.0
✨ 新功能? ✨
期待已久的 conda doctor 子命令插件已经实现!相关的 conda 问题已经有九年历史了,并且一直是经常被要求的功能。conda doctor 命令使 conda 用户能够检测其 conda 环境中是否有文件丢失的软件包(即,损坏的软件包)。
此外,以下功能和更改可在 conda 23.5.0 中找到
conda list --reverse是conda list命令的新选项,它返回已安装软件包的反向列表。- 启用了签名验证的用户将收到警告,而不是关于错误配置的
info级别消息。 - 围绕 conda 的内容信任代码添加了更多功能测试。
- 对于我们的构建系统,我们从
setup.py切换到pyproject.toml并使用 Hatchling。 - 现在优化了在
conda activate调用期间导入的 Python 模块,以提高速度。 - 添加了
conda_clipytest fixture,以替换conda.testing.helpers.run_inprocess_conda_command和conda.testing.integration.run_command。 - 添加了
tmp_envpytest fixture,以替换conda.testing.integration.make_temp_env。 - 添加了
path_factorypytest fixture,以替换自定义前缀逻辑,例如conda.testing.integration._get_temp_prefix和conda.testing.integration.make_temp_prefix。 - 以上所有三个 pytest fixture 都在文章 集成测试 中进行了文档化。
- 在
conda/activate.py中定义Activator类的方式已得到重构。 - 索引缓存元数据文件
.state.json已重命名为.info.json,以跟踪 草案 Repodata 元数据.info.jsonCEP。 - 改进了使用
jlap时的缓存锁定和日志记录。 - 项目的 README 示例已从 IPython Notebook 和 NumPy 更改为 PyTorch。
- 灵活求解和
repodata日志中的重试语言现在更加用户友好。 - 现在支持 Python 3.11。
🔧 修复了什么? 🔧
在 conda 23.5.0 版本中实施了以下错误修复
- 如果
conda clean无法获取文件统计信息,则不再失败。 - 如果
conda.deprecations.DeprecationHandler收到错误的版本,则会提供回退版本。 - 当
context.subdir在非 Windows 平台上为win-*时,defaults的默认值包括msys2。 - 当非字符串类型写入索引缓存元数据时,避免了
TypeError。 - 当
package_path具有.conda扩展名时,conda.core.package_cache_data.UrlsData.get_url不再失败。 - 在
conda.sh中不再预转换路径为 Windows 上的 Unix 样式;这样做是为了使它们在安装时可前缀替换。
🌅 标记为弃用的内容? 🌅
以下模块和函数被标记为弃用
conda_env.pip_util.get_pip_versionconda_env.pip_util.PipPackageconda_env.pip_util.installedconda_env.pip_util._canonicalize_nameconda_env.pip_util.add_pip_installedconda_env.env.load_from_directorypython -m conda_env.cli.main(请改用conda env)python -m conda_env(请改用conda env)conda.auxlib.packagingconda.testing.integration.get_conda_list_tuple(请改用conda.core.prefix_data.PrefixData().get())conda.testing.encode_for_env_varconda.testing.integration.temp_chdir(请改用monkeypatch.chdir)
Conda-Build 中的更改
要更新 conda-build,请运行
conda install -n base conda-build=3.25.0
✨ 新功能? ✨
在最新版本的 conda-build 中,现在可以将使用虚拟软件包的 noarch 软件包添加到软件包的哈希内容中。这有助于为具有平台特定依赖项的不同平台多次构建 noarch 软件包。在 conda-build 3.25.0 中,可以为 __linux、__osx 或 __win 构建不同的变体,并获得不冲突的软件包文件名。
此外,以下功能和更改可在 conda-build 3.25.0 中找到
- 支持
svn源代码凭据(svn_username和svn_password)。 - 现在使用独立的
conda-index而不是捆绑的索引代码。 - 对于我们的构建系统,我们从
setup.py切换到pyproject.toml并使用 Hatchling。 - 针对
conda_build.index.ChannelIndex._ensuredirs的次要代码简化。 - 在 MacOS 上启用了
xattr测试。 - 现在支持 Python 3.11。
🔧 修复了什么? 🔧
在 conda-build 3.25.0 版本中实施了以下错误修复
tests/commands也可以在run_test.*存在的情况下运行。- 当渲染使用
load_file_dataJinja2 函数的 recipe 时,现在需要 source。 - 在构建期间将软件包下载到正确的
subdir文件夹中。 - 在为多输出构建重建索引时,使用唯一的
subdir变量名称,这修复了从osx-64真实交叉编译osx-arm64软件包时发生的错误。
🌅 标记为弃用的内容? 🌅
- 内联
conda index逻辑(conda-build仍然提供conda-index又名conda indexCLI,但在构建期间使用独立的conda-index)。 - 首选 独立的 conda-index 软件包,而不是
conda-build index或conda index,以使用更快的索引代码。 conda_build.metadata.ns_cfg(请改用conda_build.get_selectors.get_selectors)。(#4837)conda_build.config.python2_fs_encodeconda_build.config._ensure_dir(请改用stdlib的pathlib.Path.mkdir(exist_ok=True)或os.makedirs(exist_ok=True))。
Conda-Libmamba-Solver 中的更改
要更新 conda-libmamba-solver,请运行
conda install -n base conda-libmamba-solver=23.5.0
✨ 新功能? ✨
在其他改进和错误修复中,最新版本的 conda-libmamba-solver 提供了一个 CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED 环境变量,以防止从已安装的软件包中注入 channel,这对于无法访问外部 channel 服务器的气隙环境非常有用。
此外,以下功能和更改可在 conda-libmamba-solver 23.5.0 中找到
- 简化
libmambapy.Context初始化,以便我们仅设置我们使用的部分。 - 使用新的
RepoInterface并删除SubdirData子类解决方法,这需要 conda 23.5.0。 - 已知求解器行为差异现在已记录在案。
- 开发文档已更新,以反映构建系统和其他不准确之处的更改。
- 添加了重现已知求解器差异的测试。
- 现在临时跳过
libmamba1.4.2 上的一些测试,以解决一些测试失败问题。
🔧 修复了什么? 🔧
在 conda-libmamba-solver 23.5.0 版本中实施了以下错误修复
- 已修复运行
conda update <package>会导致在没有更新版本可用时软件包被降级的问题。 - conda-libmamba-solver 23.5.0 确保如果已存在经过身份验证的等效项,则不会从已安装的软件包的 channel 列表中重新注入未经身份验证的 channel。
context.repodata_threads受到尊重。
🌅 标记为弃用的内容? 🌅
- 删除了不必要的用户代理测试。
