跳至主要内容

2024 年 3 月发布

·阅读时长:6 分钟
Bianca Henderson
Conda 维护者 🐍📦

2024 年 3 月发布的版本包含 conda 和 conda-build 的更新!🎉 这两个版本都已发布到 mainconda-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_pathconda.testing.path_factoryconda.testing.tmp_env
  • conda.testing.integration._get_temp_prefix 标记为待弃用。改为使用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env
  • conda.testing.integration.make_temp_prefix 标记为待弃用。改为使用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env
  • conda.testing.integration.FORCE_temp_prefix 标记为待弃用。改为使用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env
  • conda.testing.integration.create_temp_location 标记为待弃用。改为使用 tmp_pathconda.testing.path_factory
  • conda.testing.integration.tempdir 标记为待弃用。改为使用 tmp_pathconda.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 envpython -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 位贡献者;感谢所有开源社区成员帮助促成这些改进。

如果您有任何想法,或想帮助改进任何 conda 社区项目,我们热烈欢迎新(和回归)贡献者! 😄