2024 年 3 月发布
·阅读时长:6 分钟
2024 年 3 月发布的版本包含 conda 和 conda-build 的更新!🎉 这两个版本都已发布到 main
和 conda-forge
。
Conda 的更改 24.3.0
要更新 conda,请运行
conda install -n base conda=24.3.0
✨ 新功能 ✨
- 如果
repodata.json
抛出JSONDecodeError
,则显示不可解码响应的前几个字符。 - 更新
conda.gateways.subprocess.subprocess_call
以使用text=True
来避免手动编码/解码。 - 添加一个新的插件钩子,让插件作者能够定义新的设置。
- 优化模块导入以加快
conda activate
的速度。 - 将
conda env export
移动到conda export
并将旧命令别名为新命令。 - 在运行
conda install --revision <idx>
时报告进度。 - 添加
conda.testing.tmp_channel
pytest 固定装置来创建一个临时的本地通道进行测试。 - 在发布期间将稳定版本工件上传到 GitHub 发布版。
🔧 修复 🔧
- 在启用 conda 调试日志时,在
KeyboardInterrupt
上打印回溯,而不是抛出另一个AttributeError
异常。 - 将整数通道通知 ID 解析为
str
,而不是抛出异常。 - 添加对
zstandard
的直接运行时依赖关系,用于下载repodata.json.zst
时使用。 - 如果
repodata.json.zst
无法解压缩为zstandard
,则回退到repodata.json
。 conda rename
命令在 conda 未激活时不再抛出错误。- 在大多数 4xx 错误代码上从
repodata.json.zst
回退到repodata.json
。 - 修复获取 repodata 时日志处理造成的过量资源使用。
- 重新启用
--subdir
和--platform
标志,以便它们可用于conda env create
命令。 - 修复 Windows 上的
__archspec
虚拟包,以返回微架构而不是默认的x86_64
。
🌅 已标记为 弃用 的内容? 🌅
- 停止使用自定义 Docker 镜像。改为使用由 Anaconda Inc. 或 conda-forge 提供的镜像。
- 将
conda.testing.integration.make_temp_channel
标记为待弃用。改为使用conda.testing.tmp_channel
固定装置。 - 将
conda.testing.integration.running_a_python_capable_of_unicode_subprocessing
标记为待弃用。 - 将
conda.testing.integration.set_tmpdir
标记为待弃用。改为使用tmp_path
、conda.testing.path_factory
或conda.testing.tmp_env
。 - 将
conda.testing.integration._get_temp_prefix
标记为待弃用。改为使用tmp_path
、conda.testing.path_factory
或conda.testing.tmp_env
。 - 将
conda.testing.integration.make_temp_prefix
标记为待弃用。改为使用tmp_path
、conda.testing.path_factory
或conda.testing.tmp_env
。 - 将
conda.testing.integration.FORCE_temp_prefix
标记为待弃用。改为使用tmp_path
、conda.testing.path_factory
或conda.testing.tmp_env
。 - 将
conda.testing.integration.create_temp_location
标记为待弃用。改为使用tmp_path
或conda.testing.path_factory
。 - 将
conda.testing.integration.tempdir
标记为待弃用。改为使用tmp_path
或conda.testing.path_factory
。 - 将
conda.testing.integration.reload_config
标记为待弃用。改为使用conda.base.context.reset_context
。 - 删除
conda.export.handle_proxy_407
。 - 删除供应商提供的
conda._vendor.boltons
。改为使用boltons
包。 - 删除
conda.auxlib.packaging
。改为使用现代构建系统;有关详细信息,请参阅 https://packaging.pythonlang.cn/en/latest/tutorials/packaging-projects#creating-pyproject-toml。 - 删除
conda env create --force
。改为使用conda env create --yes
。 - 删除
conda info PACKAGE
。改为使用conda search PACKAGE --info
。 - 删除
conda.core.subdir_data.fetch_repodata_remote_request
。改为使用conda.core.subdir_data.SubdirData.repo_fetch.fetch_latest_parsed
。 - 删除
conda.exports.memoized
。改为使用functools.lru_cache
。 - 删除
conda.gateways.disk.read._digest_path
。改为使用conda.gateways.disk.read.compute_sum
。 - 删除
conda.gateways.disk.read.compute_md5sum
。改为使用conda.gateways.disk.read.compute_sum(path, "md5")
。 - 删除
conda.gateways.disk.read.compute_sha256sum
。改为使用conda.gateways.disk.read.compute_sum(path, "sha256")
。 - 删除
conda.instructions.PREFIX
。 - 删除
conda.instructions.PREFIX_CMD
。 - 删除
conda.testing.encode_for_env_var
。 - 删除
conda.testing.conda_check_versions_aligned
。 - 删除
conda.testing.helpers.run_inprocess_conda_command
。改为使用conda.testing.tmp_env
。 - 删除
conda.testing.helpers.capture_json_with_argv
。 - 删除
conda.testing.integration.get_conda_list_tuple
。改为使用conda.core.prefix_data.PrefixData.get
。 - 删除
conda.utils.md5_file
。改为使用conda.gateways.disk.read.compute_sum(path, "md5")
。 - 删除
conda.utils.hashsum_file
。改为使用conda.gateways.disk.read.compute_sum
。 - 删除
conda.utils.safe_open
。改为使用open
。 - 删除
python -m conda_env
。改为使用conda env
或python -m conda env
。 - 删除
conda_env.env.load_from_directory
。 - 删除
conda_env.pip_util.get_pip_version
。 - 删除
conda_env.pip_util.PipPackage
。 - 删除
conda_env.pip_util.installed
。 - 删除
conda_env.pip_util._canonicalize_name
。 - 删除
conda_env.pip_util.add_pip_installed
。 - 将
conda.base.context.Context.conda_exe
的弃用推迟到conda 24.9
。 - 将
conda.testing.integration.run_command
的弃用推迟到conda 25.3
。 - 将从可执行文件加载子命令的弃用推迟到
conda 25.3
。
📄 文档中的新功能 📄
- 更新 Miniconda 的导航链接。
Conda-Build 的更改 24.3.0
要更新 conda-build,请运行
conda install -n base conda-build=24.3.0
✨ 新功能 ✨
- 添加对
LIEF=0.14
的兼容性。 - 添加一个检查,当 bits 在
msvc_env_cmd
中为 "arm64" 时,打印额外的警告并返回空字符串。
🔧 修复 🔧
- 修复
stdlib
在变体哈希输入中被识别的问题。
🌅 已标记为 弃用 的内容? 🌅
- 将
conda_build.bdist_conda
模块标记为待弃用。 - 将
conda_build.build.have_prefix_files
标记为弃用。 - 将
conda_build.conda_interface.handle_proxy_407
标记为弃用。由conda.gateways.connection.session.CondaSession
处理。 - 将
conda_build.conda_interface.hashsum_file
标记为弃用。改为使用conda.gateways.disk.read.compute_sum
。 - 将
conda_build.conda_interface.md5_file
标记为弃用。改为使用conda.gateways.disk.read.compute_sum(path, 'md5')
。 - 将
conda_build.environ.PREFIX_ACTION
标记为弃用。 - 将
conda_build.environ.LINK_ACTION
标记为弃用。 - 将
conda_build.environ.cache_actions
标记为弃用。 - 将
conda_build.index.DummyExecutor
标记为弃用。 - 将
conda_build.index.MAX_THREADS_DEFAULT
标记为弃用。 - 将
conda_build.index.LOCK_TIMEOUT_SECS
标记为弃用。 - 将
conda_build.index.LOCKFILE_NAME
标记为弃用。 - 将
conda_build.api.get_output_file_path
标记为弃用。改为使用conda_build.api.get_output_file_paths
。 - 将
conda_build.environ.Environment
标记为弃用。改为使用conda.core.prefix_data.PrefixData
。 - 将
conda_build.conda_interface.get_version_from_git_tag
标记为弃用。改为使用conda_build.environ.get_version_from_git_tag
。 - 重命名
conda_build.environ.create_env('specs_or_actions' -> 'specs_or_precs')
。 - 重命名
conda_build.environ._execute_actions('actions' -> 'precs')
。 - 重命名
conda_build.environ._display_actions('actions' -> 'precs')
。 - 重命名
conda_build.inspect.check_install('platform' -> 'subdir')
。 - 重命名
conda_build.render.execute_download_actions('actions' -> 'precs')
。 - 重命名
conda_build.render.get_upstream_pins('actions' -> 'precs')
。 - 删除
conda_build.cli.main_render.execute(print_results)
。 - 删除
conda_build.conda_interface.Dist
。 - 删除
conda_build.conda_interface.display_actions
。 - 删除
conda_build.conda_interface.execute_actions
。 - 删除
conda_build.conda_interface.execute_plan
。 - 删除
conda_build.conda_interface.install_actions
。 - 删除
conda_build.conda_interface.linked
。 - 删除
conda_build.conda_interface.linked_data
。 - 删除
conda_build.conda_interface.package_cache
。 - 删除
conda_build.environ.get_install_actions
。改为使用conda_build.environ.get_package_records
。 - 删除
conda_build.index._determine_namespace
。 - 删除
conda_build.index._make_seconds
。 - 删除
conda_build.index.REPODATA_VERSION
。 - 删除
conda_build.index.CHANNELDATA_VERSION
。 - 删除
conda_build.index.REPODATA_JSON_FN
。 - 删除
conda_build.index.REPODATA_FROM_PKGS_JSON_FN
。 - 删除
conda_build.index.CHANNELDATA_FIELDS
。 - 删除
conda_build.index._clear_newline_chars
。 - 删除
conda_build.index._get_jinja2_environment
。 - 删除
conda_build.index._maybe_write
。 - 删除
conda_build.index._make_build_string
。 - 删除
conda_build.index._warn_on_missing_dependencies
。 - 删除
conda_build.index._cache_post_install_details
。 - 删除
conda_build.index._cache_recipe
。 - 删除
conda_build.index._cache_run_exports
。 - 删除
conda_build.index._cache_icon
。 - 删除
conda_build.index._make_subdir_index_html
。 - 删除
conda_build.index._make_channeldata_index_html
。 - 删除
conda_build.index._get_source_repo_git_info
。 - 删除
conda_build.index._cache_info_file
。 - 删除
conda_build.index._alternate_file_extension
。 - 删除
conda_build.index._get_resolve_object
。 - 删除
conda_build.index._get_newest_versions
。 - 删除
conda_build.index._add_missing_deps
。 - 移除
conda_build.index._add_prev_ver_for_features
。 - 移除
conda_build.index._shard_newest_packages
。 - 移除
conda_build.index._build_current_repodata
。 - 移除
conda_build.index.ChannelIndex
。 - 移除
conda_build.inspect.check_install('prepend')
。 - 移除
conda_build.inspect.check_install('minimal_hint')
。 - 移除
conda_build.noarch_python.ISWIN
。改为使用conda_build.utils.on_win
。 - 移除
conda_build.noarch_python._force_dir
。改为使用os.makedirs(exist_ok=True)
。 - 移除
conda_build.noarch_python._error_exit
。 - 移除
conda_build.render.actions_to_pins
。 - 移除
conda_build.utils.linked_data_no_multichannels
。 - 推迟
conda_build.index.channel_data
的弃用。
📄 文档更新内容 📄
- 更新将 conda-build 安装到基础环境的建议。
我们 ❤️ 我们的社区
在本发布周期中,我们新增了 2 位贡献者;感谢所有开源社区成员帮助促成这些改进。
- @zklaus 在 conda#13579 中首次贡献。
- @finnagin 在 conda-build#4867 中首次贡献。
如果您有任何想法,或想帮助改进任何 conda 社区项目,我们热烈欢迎新(和回归)贡献者! 😄