发行说明#

此信息来自 GitHub conda 项目的变更日志:conda/conda

25.1.1 (2025-01-28)#

Bug 修复#

  • 修复 PowerShell 激活/停用以正确取消设置 $env:_CE_M$env:_CE_CONDA 环境变量。(#14292 via #14517)

贡献者#

  • @travishathaway

25.1.0 (2025-01-17)#

增强功能#

  • 设置 __win 版本并启用 CONDA_OVERRIDE_WIN 用法。(#14443 via #14450)

Bug 修复#

  • 合并重叠的 glob 构建规范,而不是引发 Incompatible component merge。(#11612)

  • 修复了将无效值传递给 conda shell.posix 命令时的错误 (#14398)

  • 当在 CLI 中提供不正确的子命令时,对建议的子命令进行排序。(#13332 via 14402)

  • 修复了在某些情况下无法识别设置 denylist_channels 的错误。(#14405)

  • 如果底层操作系统不是 macOS 或 Linux,则不要使用原生平台版本来设置 __osx__linux 版本。(#14448 via #14449)

  • 即使 Python 解释器链接到 SDK 10.15 或更早版本,也报告真实的 macOS 版本(11+ 而不是 10.16)。这适用于 __osx 虚拟包和用户代理信息。(#13178, #13832 via #14449)

  • 接受 % 编码的 URL 作为有效的 MatchSpec。(#14481)

  • ChecksumMismatchError 导致错误的部分下载时,重试失败的下载一次。使用 r+bw+b 而不是“append”模式。改进测试覆盖率。(#13488)

文档#

  • 在 CondaAuthHandler 示例中使用正确的参数名称 handler (#14428)。

其他#

  • 需要 conda-libmamba-solver >=24.11.0 以实现 libmamba 2.x 兼容性。(#11612)

  • conda.testing 中添加了新的 PYTHONPATH autoused fixture,以确保在所有测试中使用开发 conda。当 PYTHONPATH 已在环境中设置时,此 fixture 不适用。(#14475)

贡献者#

  • @conda-bot

  • @dbast

  • @dholth

  • @jaimergp

  • @jezdez

  • @jjhelmus

  • @kenodegard

  • @ForgottenProgramme

  • @minrk

  • @travishathaway

  • @dependabot[bot]

  • @pre-commit-ci[bot]

24.11.3 (2025-01-06)#

Bug 修复#

  • 修复了 __conda_reactivate 弃用消息中引入的递归错误。(#14468)

贡献者#

  • @jaimergp

24.11.2 (2024-12-19)#

Bug 修复#

  • 恢复在 24.11.0 中删除的 __conda_reactivate shell 命令。(#14455)

弃用#

  • __conda_reactivate 标记为已弃用。请改用 __conda_activate reactivate。(#14455)

贡献者#

  • @kenodegard

24.11.1 (2024-12-10)#

Bug 修复#

  • 修复了在某些情况下无法识别设置 denylist_channels 的错误。(#14405)

贡献者#

  • @travishathaway

24.11.0 (2024-11-18)#

增强功能#

  • 为报告器后端添加新的插件钩子。(#13868)

  • 添加对 CEP-17 的支持,该支持允许通过 repodata.json 指定 Python 包的 site-packages 目录的路径。(#14053 via #14256)

  • 为报告器后端插件钩子添加进度条支持。(#14083)

  • 为报告器后端插件钩子添加定义微调器 (spinners) 的支持。(#14206)

  • 为报告器后端插件钩子添加确认功能的支持。(#14244)

  • 添加新的插件钩子(conda_session_headersconda_request_headers)以将标头添加到传出的 HTTP 请求。(#14325, #14382)

Bug 修复#

  • 在失败的 conda env 运行中,不要重试求解两次。(#13784)

  • 删除 CreateNonAdminAction 以防止 conda remove 删除 .nonadmin 文件。(#14271)

  • PrefixData(pip_interop_enabled=True) 中,不要将 Python 发行版名称映射到 conda 名称。(#14310 via #14317)

  • 修复 conda export --json --file 的输出写入。(#14316 via #14323)

  • 更新 deprecated.action() 函数以处理未指定值的 Positional arguments。(#14355 via #14359)

  • 修复持续集成覆盖率文件的上传。(#14375)

弃用#

  • 删除 __conda_reactivate shell 函数,而使用 __conda_activate reactivate。(#14277)

  • conda.misc.rel_path 标记为即将弃用。(#14338)

  • 需要 Python 3.9 或更高版本。(#14201 via #14368)

贡献者#

  • @beeankha

  • @conda-bot

  • @dholth

  • @duncanmmacleod

  • @jaimergp

  • @jezdez

  • @jjhelmus

  • @kathatherine

  • @kenodegard

  • @zklaus

  • @ForgottenProgramme

  • @marcoesters

  • @muffato 在 conda/conda#14342 中做出了首次贡献

  • @nilskch 在 conda/conda#14214 中做出了首次贡献

  • @travishathaway

  • @dependabot[bot]

  • @pre-commit-ci[bot]

24.9.2 (2024-10-16)#

Bug 修复#

  • 改进了关于使用“defaults”预填充通道列表的弃用警告。(#14305)

  • conda create 命令添加受保护目录的防护措施。(#14282, #14315)

贡献者#

  • @beeankha

  • @jezdez

  • @travishathaway

24.9.1 (2024-10-01)#

Bug 修复#

  • 调整了关于通道默认值即将更改的待定弃用警告。(#14287 via #14288)

弃用#

  • 删除已弃用的测试入口点 shell/bin/conda。请改用 dev/start[.bat]。(#14285)

贡献者#

  • @jezdez

  • @kenodegard

24.9.0 (2024-09-26)#

✨ 特别公告 ✨#

这是一个关于 conda 功能中一个重要且积极的未来变化的公告

根据 conda 用户关于预配置 conda 代码库以支持来自 Anaconda Inc 的通道的反馈,我们已开始弃用在 conda 源代码中硬编码 Anaconda 的通道作为默认通道集的过程,这是 conda 在该公司孵化时遗留下来的。

将来,我们将依赖 conda 发行版的提供商(例如 miniforge 或 Anaconda(包括 miniconda))来预配置他们首选的通道,例如,通过运行必要的 conda config --set channels 命令。

我们还将继续致力于改进通道管理,并在可预见的未来希望收到您的反馈。

增强功能#

  • 添加 conda.core.index.Index 作为已实现字典索引的更快的直接替换。注意:在获取索引时,记录器不再隐式初始化。相反,您必须显式调用 conda.gateways.logging.initialize_logging。( #13880, #14267)

  • conda env remove 命令别名为 conda remove --all。( #13977)

  • conda doctor 添加新的健康检查,以检测 REQUESTS_CA_BUNDLE 环境变量是否指向不存在的文件。(#12905 via #14037)

  • conda list --explicit 添加 --sha256 标志,以便它列出带有 SHA256 哈希值而不是 MD5 的 URL,并使 conda install|create 与这些输入兼容。(#2903, #7882 via #14048)

  • 报告用于生成 @EXPLICIT 文本文件的 conda 版本。(#14048)

  • 更新健康检查输出以保持一致性。(#14049 via #14079)

  • 修复 Windows 到 Unix 的路径转换以处理 UNC 挂载和根路径。(#14157)

  • 添加新的 denylist_channels 配置选项和 CONDA_DENYLIST_CHANNELS 环境变量,以显式拒绝全局使用特定通道,这补充了已有的 allowlist_channels 配置选项。(#14176 via #14196)

  • 添加 conda commands 子命令。(#14215)

  • 添加 conda.testing.fixtures.session_capsys。使用它来捕获模块、包和会话范围的 fixtures 中的 stdout 和 stderr。(#14243)

  • 添加 conda.testing.fixtures.session_conda_cli。使用它来调用模块、包和会话范围的 fixtures 中的 conda 命令。(#14243)

  • 添加 conda.testing.fixtures.session_tmp_env。使用它来在模块、包和会话范围的 fixtures 中创建 conda 环境。(#14243)

Bug 修复#

  • 防止包含 conda 环境的目录在创建新环境时被指定为环境前缀;这提供了防护措施,以防止通过诸如 conda rename 之类的命令意外删除环境。(#13955)

  • 启用 conda doctor 以检查环境是否存在,然后再尝试生成健康报告。(#14042 via #14112)

  • 修复 conda.common.configuration.ObjectParameter 适当处理默认值的能力。(#14148 via #14149)

  • conda remove [env] --all 命令不再删除已删除环境的空父目录。(#14173)

  • 尝试删除不存在的环境时引发错误。(#14174 via #14199)

  • 将 pre-/post-command 钩子添加到激活子命令(activatedeactivatereactivatehookscommands)。(#14211 via #14212)

  • 仅从文件名末尾替换扩展名,而不是在两个位置使用 str.replace()。(#14241)

  • 修复 PowerShell 激活/停用以使用 $Env:VARIABLE = $null 而不是 $Env:VARIABLE = "" 正确取消设置环境变量。(#14237 via #14246)

弃用#

  • conda.core.index.get_index 标记为即将弃用。请改用 conda.core.index.Index。( #13880)

  • conda.core.index.get_reduced_index 标记为即将弃用。请改用 conda.core.index.ReducedIndex。( #13880)

  • conda.core.index.fetch_index 标记为即将弃用。请改用 conda.core.index.Index。( #13880)

  • conda.core.index._supplement_index_with_prefix 标记为即将弃用。请改用 conda.core.index.Index.reload。( #13880)

  • conda.core.index._supplement_index_with_cache 标记为即将弃用。请改用 conda.core.index.Index.reload。( #13880)

  • conda.core.index._supplement_index_with_features 标记为即将弃用。请改用 conda.core.index.Index.reload。( #13880)

  • conda.core.index._supplement_index_with_system 标记为即将弃用。请改用 conda.core.index.Index.reload。( #13880)

  • conda.core.index._make_virtual_package 标记为即将弃用。请改用 conda.models.records.PackageRecord.virtual_package。( #13880)

  • conda.core.subdir_data.make_feature_record 标记为即将弃用。请改用 conda.models.records.PackageRecord.feature。( #13880)

  • conda.plugins.manager.CondaPluginManager.get_virtual_packages 标记为即将弃用。请改用 conda.plugins.manager.CondaPluginManager.get_virtual_package_records。( #13880)

  • conda.misc.explicit(index_args) 标记为即将弃用。(#14267)

  • conda.cli.main_rename.validate_destination 标记为即将弃用。请改用 conda.cli.install.validate_new_prefix。( #13955)

  • conda.cli.main_env_remove.execute 标记为即将弃用。请改用 conda.cli.main_remove.execute。( #13977)

  • conda.activate.path_identity 标记为即将弃用。请改用 conda.common.path.path_identity。( #14068)

  • conda.utils.path_identity 标记为即将弃用。请改用 conda.common.path.path_identity。( #14068)

  • conda.models.leased_path_entry 标记为即将弃用。(#14077)

  • conda.base.context.Context.conda_exe 的移除推迟到 conda 25.3。( #14077)

  • conda.cli.python_api 的移除推迟到 conda 25.9。( #14077)

  • 移除 conda._vendor.appdirs。请改用 platformdirs。( #14077)

  • 移除 conda._vendor.cpuinfo。( #14077)

  • 移除 conda._vendor.distro。请改用 distro。( #14077)

  • 移除 conda.auxlib.collection.call_each。( #14077)

  • 移除 conda.auxlib.collection.firstitem。( #14077)

  • 移除 conda.auxlib.compat.NoneType。( #14077)

  • 移除 conda.auxlib.compat.primitive_types。( #14077)

  • 移除 conda.auxlib.compat.utf8_writer。( #14077)

  • 移除 conda.auxlib.exceptions.AssignmentError。( #14077)

  • 移除 conda.auxlib.exceptions.AuthenticationError。( #14077)

  • 移除 conda.auxlib.exceptions.InitializationError。( #14077)

  • 移除 conda.auxlib.exceptions.NotFoundError。( #14077)

  • 移除 conda.auxlib.exceptions.SenderError。( #14077)

  • 移除 conda.auxlib.type_coercion.boolify_truthy_string_ok。( #14077)

  • 移除 conda.auxlib.type_coercion.listify。( #14077)

  • 移除 conda.base.context.Context.root_dir。请改用 conda.base.context.Context.root_prefix。( #14077)

  • 移除 conda.base.exceptions。( #14077)

  • 移除 conda.cli.main.generate_parser。请改用 conda.cli.conda_argparse.generate_parser。( #14077)

  • 移除 conda.cli.main.init_loggers(context) (#14077)

  • 移除 conda.cli.main_rename.validate_src(name)。( #14077)

  • 移除 conda.cli.main_rename.validate_src(prefix)。( #14077)

  • 移除 conda.common.configuration.load_file_configs。( #14077)

  • 移除 conda.common.decorators.env_override。( #14077)

  • 移除 conda.common.decorators。( #14077)

  • 移除 conda.common.disk.temporary_content_in_file。请改用 tempfile。( #14077)

  • 移除 conda.core.package_cache_data.download。请改用 conda.gateways.connection.download.download。( #14077)

  • 移除 conda.core.package_cache_data.rm_fetched。( #14077)

  • 移除 conda.core.package_cache。请改用 conda.core.package_cache_data。( #14077)

  • 移除 conda.core.prefix_data.PrefixData._has_python。( #14077)

  • 移除 conda.core.subdir_data.get_cache_control_max_age。请改用 conda.gateways.repodata.get_cache_control_max_age。( #14077)

  • 移除 conda.exports.fetch_index。请改用 conda.core.index.fetch_index。( #14077)

  • 移除 conda.exports.IndexRecord。请改用 conda.models.records.PackageRecord。( #14077)

  • 移除 conda.gateways.anaconda_client.EnvAppDirs。请改用 platformdirs。( #14077)

  • 移除 conda.gateways.connection.adapters.ftp.FTPAdapter.stor。( #14077)

  • 移除 conda.gateways.connection.adapters.ftp.parse_multipart_files (#14077)

  • 移除 conda.gateways.logging.set_verbosity。请改用 conda.gateways.logging.set_log_level。( #14077)

  • 移除 conda.gateways.logging.VERBOSITY_LEVELS。( #14077)

  • 移除 conda.models.dist.IndexRecord。请改用 conda.models.records.PackageRecord。( #14077)

  • 移除 conda.models.enums.LeasedPathType。( #14077)

  • 移除 conda.models.leased_path_entry.LeasedPathEntry。( #14077)

  • 移除 conda.plugins.subcommands.doctor.get_prefix。请改用 conda.base.context.context.target_prefix。( #14077)

  • 移除 conda.plugins.subcommands.doctor.health_checks.display_health_checks。( #14077)

  • 移除 conda.plugins.subcommands.doctor.health_checks.display_report_heading。( #14077)

  • 移除 conda.testing.helpers.set_active_prefix。请改用 mocker.patch('conda.base.context.Context.active_prefix')。( #14077)

  • 移除 tests.env.utils.run_command。请改用 conda_cli fixture。( #14077)

  • tests.env.utils.make_temp_envs_dir 标记为即将弃用。请改用 tmp_envs_dir fixture。( #14093)

  • conda.gateways.disk.delete.rm_rf(max_retries) 标记为即将弃用。(#14094)

  • conda.gateways.disk.delete.rm_rf(trash) 标记为即将弃用。(#14094)

  • conda.gateways.disk.delete.try_rmdir_all_empty 标记为即将弃用。请改用 conda.gateways.disk.delete.rm_rf。( #14094)

  • conda.gateways.disk.delete.move_to_trash 标记为即将弃用。请改用 conda.gateways.disk.delete.rm_rf。( #14094)

  • conda.gateways.disk.delete.move_path_to_trash 标记为即将弃用。请改用 conda.gateways.disk.delete.rm_rf。( #14094)

  • 标记 conda.exports.move_to_trash 为即将弃用。请使用 conda.gateways.disk.delete.rm_rf 代替。(#14118)

  • 标记 conda.activate.ensure_binary 为即将弃用。请使用 conda.common.compat.ensure_binary 代替。(#14144)

  • 标记 conda.activate.ensure_fs_path_encoding 为即将弃用。(#14144)

  • 标记 conda.common.compat.six_with_metaclass 为即将弃用。请使用类的 metaclass= 关键字参数代替。(#14144)

  • 标记 conda.common.compat.open 为即将弃用。请使用 conda.common.compat.open_utf8 代替。(#14144, #14169)

  • 标记 conda.common.compat.ensure_unicode 为即将弃用。(#14144)

  • 标记 conda.common.compat.ensure_fs_path_encoding 为即将弃用。(#14144)

  • 标记 conda.common.compat.FILESYSTEM_ENCODING 为即将弃用。(#14144, #14169)

  • 标记 conda.activate.native_path_to_unix 为即将弃用。请使用 conda.common.path.win_path_to_unix 代替。(#14157)

  • 标记 conda.activate.unix_path_to_native 为即将弃用。请使用 conda.common.path.unix_path_to_win 代替。(#14157)

  • 标记 conda.activate._Cygpath 为即将弃用。请使用 conda.common.path._cygpath 代替。(#14157)

  • 标记 conda.activate._Cygpath.RE_UNIX 为即将弃用。请使用 conda.common.path._cygpath.RE_WIN_DRIVE 代替。(#14157)

  • 标记 conda.activate._Cygpath.translate_unix 为即将弃用。请使用 conda.common.path._cygpath._to_unix_drive 代替。(#14157)

  • 标记 conda.activate._Cygpath.RE_DRIVE 为即将弃用。请使用 conda.common.path._cygpath.RE_UNIX_DRIVE 代替。(#14157)

  • 标记 conda.activate._Cygpath.translation_drive 为即将弃用。请使用 conda.common.path._cygpath._to_win_drive 代替。(#14157)

  • 标记 conda.activate._Cygpath.RE_MOUNT 为即将弃用。请使用 conda.common.path._cygpath.RE_UNIX_MOUNT 代替。(#14157)

  • 标记 conda.activate._Cygpath.translation_mount 为即将弃用。请使用 conda.common.path._cygpath._to_win_mount 代替。(#14157)

  • 标记 conda.activate._Cygpath.RE_ROOT 为即将弃用。请使用 conda.common.path._cygpath.RE_UNIX_ROOT 代替。(#14157)

  • 标记 conda.activate._Cygpath.translation_root 为即将弃用。请使用 conda.common.path._cygpath._to_win_root 代替。(#14157)

  • 标记 conda.utils.unix_path_to_win 为即将弃用。请使用 conda.common.path.unix_path_to_win 代替。(#14157)

  • 弃用 conda.env.specs.binstar 模块。(#14158 通过 #14160)

  • 弃用 conda env [create|update] REMOTE_DEFINITION。请使用 conda env [create|update] --file=URL 代替。(#14158 通过 #14160)

  • 标记 conda.testing.integration.BIN_DIRECTORY 为即将弃用。请使用 conda.common.path.BIN_DIRECTORY 代替。(#14188)

  • 标记 conda.common.path.get_bin_directory_short_path() 为即将弃用。请使用 conda.common.path.BIN_DIRECTORY 代替。(#14188)

  • 标记 conda.common.path.is_private_env_name 为即将弃用。(#14189)

  • 标记 conda.common.path.is_private_env_path 为即将弃用。(#14189)

  • 标记 conda shell.SHELL commands 为即将弃用。请使用 conda commands 代替。(#14215)

  • defaults 多通道将不再是 channels 的(隐式)默认值。鼓励依赖此行为的用户运行 conda config --add channels defaults。这正在等待弃用,并将在 25.3 版本中完全弃用。(#14178 通过 #14227)

  • conda config --add/--append channels ... 在隐式添加 defaults 时会发出警告。在 conda 25.3 中,此行为将被删除,如果需要,用户应显式运行 conda config --add/--append channels defaults。诸如 miniforge 或 miniconda 之类的 Conda 发行版安装程序将在安装期间预配置 conda 通道。(#12356 通过 #14227)

  • 如果没有显式的 channels 配置(通过 condarc 文件、环境变量或 CLI 标志),conda 将警告隐式使用 defaults。在 25.3 版本中,将使用空列表。(#14227)

  • 标记 restore_free_channel 配置选项为即将弃用。在 defaults 之后,将 https://repo.anaconda.com/pkgs/free 添加到您的通道列表。(#14231 通过 #14269)

  • 标记 conda.testing.CondaCLIFixture 为即将弃用。请使用 conda.testing.fixtures.CondaCLIFixture 代替。(#14243)

  • 标记 conda.testing.conda_cli 为即将弃用。请使用 conda.testing.fixtures.conda_cli 代替。(#14243)

  • 标记 conda.testing.PathFactoryFixture 为即将弃用。请使用 conda.testing.fixtures.PathFactoryFixture 代替。(#14243)

  • 标记 conda.testing.path_factory 为即将弃用。请使用 conda.testing.fixtures.path_factory 代替。(#14243)

  • 标记 conda.testing.TmpEnvFixture 为即将弃用。请使用 conda.testing.fixtures.TmpEnvFixture 代替。(#14243)

  • 标记 conda.testing.tmp_env 为即将弃用。请使用 conda.testing.fixtures.tmp_env 代替。(#14243)

  • 标记 conda.testing.TmpChannelFixture 为即将弃用。请使用 conda.testing.fixtures.TmpChannelFixture 代替。(#14243)

  • 标记 conda.testing.tmp_channel 为即将弃用。请使用 conda.testing.fixtures.tmp_channel 代替。(#14243)

  • 标记 conda.testing.context_aware_monkeypatch 为即将弃用。请使用 conda.testing.fixtures.context_aware_monkeypatch 代替。(#14243)

  • 标记 conda.testing.tmp_pkgs_dir 为即将弃用。请使用 conda.testing.fixtures.tmp_pkgs_dir 代替。(#14243)

  • 标记 conda.testing.tmp_envs_dir 为即将弃用。请使用 conda.testing.fixtures.tmp_envs_dir 代替。(#14243)

文档#

  • 记录 conda [env] create--platform 标志。(#14100 通过 #14181)

其他#

  • 更新 xonsh 支持以适应已弃用的导入路径。(#14047)

贡献者#

  • @anki-code 在 conda/conda#14047 中做出了他们的首次贡献

  • @beeankha

  • @conda-bot

  • @dholth

  • @jaimergp

  • @jezdez

  • @kenodegard

  • @zklaus

  • @ForgottenProgramme

  • @scw

  • @SylvainCorlay 在 conda/conda#14226 中做出了他们的首次贡献

  • @travishathaway

  • @dependabot[bot]

  • @pre-commit-ci[bot]

24.7.1 (2024-07-24)#

Bug 修复#

  • 恢复 #13975 中引入的潜在回归。先前禁止的字符(^%!=()\)再次被允许,直到评估影响为止。(#14065)

贡献者#

  • @jaimergp

24.7.0 (2024-07-17)#

增强功能#

  • 添加新的 reporters 设置以配置输出。(#13736)

  • 报告插件加载错误的追溯信息,详细级别为 2 或更高(-vv 或更高)。(#13742 通过 #13846)

  • 跳过在 conda doctor “缺少文件” 健康检查中检查 .pyc.pyo 文件。(#13370 通过 #13931)

  • 重大更改 conda list --explicit 默认情况下将不再打印身份验证详细信息。已添加新的标志 --auth,以便用户可以选择加入此行为。(#13936)

  • 也为 @EXPLICIT 锁定文件安装打印事务报告。(#13940)

  • 如果使用 --dry-run 调用 conda create,则不需要 -n/--name-p/--prefix。(#13941)

  • 添加 envvars_force_uppercase 设置,默认为 True,将所有环境变量大写(从而证明 conda 当前行为的合理性);当 envvars_force_uppercase 设置为 False 时,conda 将仅保存保留大小写的变量名称。(#13713 通过 #13943)

  • 别名 conda env list 命令为 conda info --envs。(#13972)

Bug 修复#

  • 改进日志记录器级别的处理。(#13735)

  • conda-meta/*.json 元数据中屏蔽身份验证详细信息。(#13937)

  • 在详细日志中屏蔽 Anaconda.org 令牌。(#13939, #13987)

  • 修复历史记录文件仅包含单行注释行时的解析错误。(#13960)

  • 将缺少的 emscriptenwasi 条目添加到已识别的平台,并将 wasm32 添加到已识别的架构。(#13095)

  • 修复 conda.gateways.connection.download.download() 中不区分大小写的校验和比较。(#13969)

  • 在 Windows 中禁止更多字符用于前缀名称(^%!=()\)。如果存在这些字符,会使环境激活变得复杂或无法进行。(#12558 通过 #13975)

  • 修复 repodata.json 包含 \r\n 行尾符时的缓存。(#14002 通过 #14003)

  • 修复 conda.core.portability.binary_replace 不匹配以 \n 结尾的块。(#14043 通过 #14044)

弃用#

  • 标记 conda.gateways.logging.initialize_root_logger 为即将弃用。(#13735, #14046)

  • 标记 conda.cli.main_env_list.execute 为即将弃用。请使用 conda.cli.main_info.execute 代替。(#13972)

  • 恢复 conda info 中的 --all 弃用。(#14004)

  • 标记 conda.exports.iteritems 为即将弃用。请使用内置的 dict.items() 代替。(#14034)

  • 标记 conda.exports.Completer 为即将弃用。(#14034)

  • 标记 conda.exports.InstalledPackages 为即将弃用。(#14034)

  • 标记 conda.exports.KEYS 为即将弃用。(#14034)

  • 标记 conda.exports.KEYS_DIR 为即将弃用。(#14034)

  • 标记 conda.exports.hash_file 为即将弃用。(#14034)

  • 标记 conda.exports.verify 为即将弃用。(#14034)

  • 标记 conda.exports.symlink_conda 为即将弃用。请使用 conda.activate 代替。(#14034)

  • 标记 conda.exports._symlink_conda_hlp 为即将弃用。请使用 conda.activate 代替。(#14034)

  • 标记 conda.exports.win_conda_bat_redirect 为即将弃用。请使用 conda.activate 代替。(#14034)

  • 标记 conda.utils.win_path_to_cygwin 为即将弃用。请使用 conda.common.path.win_path_to_unix 代替。(#14034)

  • 标记 conda.utils.cygwin_path_to_win 为即将弃用。请使用 conda.utils.unix_path_to_win 代替。(#14034)

  • 标记 conda.utils.translate_stream 为即将弃用。(#14034)

  • 标记 conda.utils.unix_shell_base 为即将弃用。请使用 conda.activate 代替。(#14034)

  • 标记 conda.utils.msys2_shell_base 为即将弃用。请使用 conda.activate 代替。(#14034)

  • 标记 conda.utils.shells 为即将弃用。请使用 conda.activate 代替。(#14034)

文档#

  • 在文档中阐明代理服务器配置。(#12856)

  • conda.core.envs_manager 添加类型提示和文档字符串。(#13817)

  • 添加日志记录概述作为深入探讨。(#13735)

  • 更新 conda 速查表文本并将其直接添加到速查表页面。(#13889)

  • 将速查表 PDF 下载添加到速查表页面。(#13909)

  • ssl_verify: truststore 添加到用户指南。(#13935)

  • 修复 satisfied-skip-solve 标志的帮助文本。(#13946)

  • 添加一个部分,解释如何从插件中正确引发异常。(#13741 通过 #13950)

  • 添加新文章,用于配置 envs_dirspkgs_dirs。(#13954)

其他#

  • 将对 logger.warn 的调用替换为 logger.warning。(#13963)

贡献者#

  • @beeankha

  • @conda-bot

  • @erik-whiting 在 conda/conda#13877 中做出了他们的首次贡献

  • @ifitchet

  • @jaimergp

  • @jezdez

  • @kathatherine

  • @kelvinou01 在 conda/conda#14044 中做出了他们的首次贡献

  • @kenodegard

  • @zklaus

  • @ForgottenProgramme

  • @Nathann03

  • @zeehio

  • @skupr-anaconda 在 conda/conda#13946 中做出了他们的首次贡献

  • @tl-hbk

  • @DerThorsten 在 conda/conda#13962 中做出了他们的首次贡献

  • @travishathaway

  • @dependabot[bot]

  • @padeoe 在 conda/conda#12856 中做出了他们的首次贡献

  • @pre-commit-ci[bot]

24.5.0 (2024-05-08)#

增强功能#

  • 报告哪个 MatchSpec 项导致 Invalid*Spec 异常,以提供更丰富的信息性错误消息。(#11203 通过 #13598)

  • MSYS2 软件包现在可以使用上游安装前缀。(#13649)

  • repodata.json 中添加对 CEP-15 base_url 字段的支持。(#13137 通过 #13744)

  • 在自定义通道设置中,允许使用类似 glob 的通配符模式指定通道 URL,例如用于具有身份验证处理程序插件的用户。(#13778 通过 #13779)

Bug 修复#

  • 修复 conda notices --json 以正确输出 JSON。(#13561)

  • 修复 Unix 上 Windows subdir 的前缀替换。(#13689)

弃用#

  • 标记 conda.plan._get_best_prec_match 为即将弃用。请使用 conda.misc._get_best_prec_match 代替。(#12421)

  • 标记 conda.plan._handle_menuinst 为即将弃用。(#12421)

  • 标记 conda.plan._inject_UNLINKLINKTRANSACTION 为即将弃用。(#12421)

  • 标记 conda.plan._plan_from_actions 为即将弃用。(#12421)

  • 标记 conda.plan.add_defaults_to_specs 为即将弃用。(#12421)

  • 标记 conda.plan.add_unlink 为即将弃用。(#12421)

  • 标记 conda.plan.display_actions 为即将弃用。(#12421)

  • 标记 conda.plan.execute_actions 为即将弃用。(#12421)

  • 标记 conda.plan.get_blank_actions 为即将弃用。(#12421)

  • 标记 conda.plan.install_actions 为即将弃用。(#12421)

  • 标记 conda.plan.print_dists 为即将弃用。(#12421)

  • 标记 conda.plan.revert_actions 为即将弃用。请使用 conda.cli.install.revert_actions 代替。(#12421)

  • 标记 conda.plan 作为入口点为即将弃用。(#12421)

  • 标记 conda.activate._Activator.add_export_unset_vars 为即将弃用。请使用 conda.activate._Activator.get_export_unset_vars 代替。(#13720)

  • 标记 conda.activate._Activator.get_scripts_export_unset_vars 为即将弃用。请使用 test_activate.py 中的 get_scripts_export_unset_vars 辅助函数代替。(#13720)

  • 标记 conda.activate._Activator._get_path_dirs(extra_library_bin) 为即将弃用。(#13720)

  • 标记 conda.activate.JSONFormatMixin.get_scripts_export_unset_vars 为即将弃用。请使用 conda.activate._Activator.get_export_unset_vars 代替。(#13720)

  • 标记 conda.gateways.logging.trace 为即将弃用。请使用 Logger.log(conda.common.constants.TRACE, msg) 代替。(#13732)

  • 标记 conda create --mkdir 为即将弃用。该参数是冗余且不必要的。(#13751)

  • 标记 conda install --mkdir 为即将弃用。请使用 conda create 代替。(#13751)

  • 标记 conda._vendor.frozendict 为即将弃用。请使用 frozendict 代替。(#13767 通过 #13766)

  • 标记 conda.auxlib.collection.make_immutable 为即将弃用。请使用 frozendict.deepfreeze 代替。(#13801)

  • 标记 conda.plan.execute_plan 为即将弃用。(#13869)

  • 标记 conda.plan.execute_instructions 为即将弃用。(#13869)

  • 标记 conda.plan._update_old_plan 为即将弃用。(#13869)

文档#

  • conda.core.index 添加类型提示和文档字符串。(#13816)

其他#

  • 删除自 #12509 中迁移到 hatch 以来不需要的 setuptools 残留物(MANIFEST.inwheel 构建依赖项)。(#13684)

  • 删除并更新 conda 内部从 conda/exports.py 导入的任何导入。(#13869)

贡献者#

  • @beeankha

  • @conda-bot

  • @dbast

  • @ifitchet 在 conda/conda#13649 中做出了他们的首次贡献

  • @isuruf

  • @jaimergp

  • @jezdez

  • @kenodegard

  • @zklaus

  • @ForgottenProgramme

  • @mattkram

  • @Nathann03 在 conda/conda#13816 中做出了他们的首次贡献

  • @dwr-psandhu 在 conda/conda#13770 中做出了他们的首次贡献

  • @travishathaway

  • @dependabot[bot]

  • @pre-commit-ci[bot]

24.4.0 (2024-04-24)#

增强功能#

  • 对于 Windows 用户,软件包中用于 Python 入口点的存根可执行文件现在已进行代码签名。(#13721)

贡献者#

24.3.0 (2024-03-12)#

增强功能#

  • 如果 repodata.json 引发 JSONDecodeError,则显示无法解码的响应的前几个字符。(#11804)

  • 更新 conda.gateways.subprocess.subprocess_call 以使用 text=True 以避免手动编码/解码。(#13240)

  • 添加一个新的插件钩子,使插件作者能够定义新的设置。(#13554)

  • 优化模块导入以加速 conda activate。(#13567 通过 #13568)

  • conda env export 移动到 conda export,并将旧命令别名为新命令。(#13577)

  • 在运行 conda install --revision <idx> 时报告进度。(#13611)

  • 添加 conda.testing.tmp_channel pytest fixture 以创建用于测试的临时本地通道。(#13634)

Bug 修复#

  • 当启用 conda 调试日志时,在 KeyboardInterrupt 上打印追溯信息,而不是引发另一个 AttributeError 异常。(#13531)

  • 将整数通道通知 ID 解析为 str 而不是引发异常。(#13543)

  • 添加对 zstandard 的直接运行时依赖,以便在下载 repodata.json.zst 时使用。(#13551)

  • 如果无法将 repodata.json.zst 解压缩为 zstandard,则回退到 repodata.json。(#13558)

  • conda rename 命令在 conda 未激活时不再抛出错误。(#13565)

  • 在大多数 4xx 错误代码上,从 repodata.json.zst 回退到 repodata.json。(#13573)

  • 修复获取 repodata 时日志处理导致的过量资源使用。(#13541 通过 #13628)

  • 重新启用 --subdir--platform 标志,使其可用于 conda env create 命令。(#13632)

  • 修复 Windows 上的 __archspec 虚拟软件包以返回微架构而不是默认的 x86_64。(#13641)

  • 在计算进度之前检查 Content-Length 是否为非零,避免可能的 ZeroDivisionError。(#13653, #13671)

弃用#

  • 停止自定义 docker 镜像。请改用 Anaconda Inc.conda-forge 提供的镜像。(#13162)

  • 标记 conda.common.compat.encode_arguments 为即将弃用。(#13240)

  • 删除 conda.export.handle_proxy_407。(#13629)

  • 标记 conda.testing.integration.make_temp_channel 为即将弃用。请使用 conda.testing.tmp_channel fixture 代替。(#13634)

  • 标记 conda.testing.integration.running_a_python_capable_of_unicode_subprocessing 为即将弃用。(#13634)

  • 标记 conda.testing.integration.set_tmpdir 为即将弃用。请使用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env 代替。(#13634)

  • 标记 conda.testing.integration._get_temp_prefix 为即将弃用。请使用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env 代替。(#13634)

  • 标记 conda.testing.integration.make_temp_prefix 为即将弃用。请使用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env 代替。(#13634)

  • 标记 conda.testing.integration.FORCE_temp_prefix 为待弃用。请改用 tmp_pathconda.testing.path_factoryconda.testing.tmp_env。(#13634)

  • 标记 conda.testing.integration.create_temp_location 为待弃用。请改用 tmp_pathconda.testing.path_factory。(#13634)

  • 标记 conda.testing.integration.tempdir 为待弃用。请改用 tmp_pathconda.testing.path_factory。(#13634)

  • 标记 conda.testing.integration.reload_config 为待弃用。请改用 conda.base.context.reset_context。(#13634)

  • conda.base.context.Context.conda_exe 的弃用推迟至 conda 24.9。(#13634)

  • conda.testing.integration.run_command 的弃用推迟至 conda 25.3。(#13634)

  • 将从可执行文件加载子命令的弃用推迟至 conda 25.3。(#13634)

  • 移除捆绑的 conda._vendor.boltons。请改用 boltons 包。(通过 #13634 的 #12681)

  • 移除 conda.auxlib.packaging。请改用现代构建系统;有关更多详细信息,请参阅 https://packaging.pythonlang.cn/en/latest/tutorials/packaging-projects#creating-pyproject-toml。(通过 #13634 的 #12681)

  • 移除 conda env create --force。请改用 conda env create --yes。(通过 #13634 的 #12681)

  • 移除 conda info PACKAGE。请改用 conda search PACKAGE --info。(通过 #13634 的 #12681)

  • 移除 conda.core.subdir_data.fetch_repodata_remote_request。请改用 conda.core.subdir_data.SubdirData.repo_fetch.fetch_latest_parsed。(通过 #13634 的 #12681)

  • 移除 conda.exports.memoized。请改用 functools.lru_cache。(通过 #13634 的 #12681)

  • 移除 conda.gateways.disk.read._digest_path。请改用 conda.gateways.disk.read.compute_sum。(通过 #13634 的 #12681)

  • 移除 conda.gateways.disk.read.compute_md5sum。请改用 conda.gateways.disk.read.compute_sum(path, "md5")。(通过 #13634 的 #12681)

  • 移除 conda.gateways.disk.read.compute_sha256sum。请改用 conda.gateways.disk.read.compute_sum(path, "sha256")。(通过 #13634 的 #12681)

  • 移除 conda.instructions.PREFIX。(通过 #13634 的 #12681)

  • 移除 conda.instructions.PREFIX_CMD。(通过 #13634 的 #12681)

  • 移除 conda.testing.encode_for_env_var。(通过 #13634 的 #12681)

  • 移除 conda.testing.conda_check_versions_aligned。(通过 #13634 的 #12681)

  • 移除 conda.testing.helpers.run_inprocess_conda_command。请改用 conda.testing.tmp_env。(通过 #13634 的 #12681)

  • 移除 conda.testing.helpers.capture_json_with_argv。(通过 #13634 的 #12681)

  • 移除 conda.testing.integration.get_conda_list_tuple。请改用 conda.core.prefix_data.PrefixData.get。(通过 #13634 的 #12681)

  • 移除 conda.utils.md5_file。请改用 conda.gateways.disk.read.compute_sum(path, "md5")。(通过 #13634 的 #12681)

  • 移除 conda.utils.hashsum_file。请改用 conda.gateways.disk.read.compute_sum。(通过 #13634 的 #12681)

  • 移除 conda.utils.safe_open。请改用 open。(通过 #13634 的 #12681)

  • 移除 python -m conda_env。请改用 conda envpython -m conda env。(通过 #13634 的 #12681)

  • 移除 conda_env.env.load_from_directory。(通过 #13634 的 #12681)

  • 移除 conda_env.pip_util.get_pip_version。(通过 #13634 的 #12681)

  • 移除 conda_env.pip_util.PipPackage。(通过 #13634 的 #12681)

  • 移除 conda_env.pip_util.installed。(通过 #13634 的 #12681)

  • 移除 conda_env.pip_util._canonicalize_name。(通过 #13634 的 #12681)

  • 移除 conda_env.pip_util.add_pip_installed。(通过 #13634 的 #12681)

文档#

  • 更新 Miniconda 的导航链接。(#13572)

其他#

  • 移除 dev/* 脚本,转而使用 .github/workflows/tests.yml 中的 conda-incubator/setup-miniconda GitHub Action。(#13162)

  • 停止在 .github/workflows/tests.yml 中链式调用步骤命令。(通过 #13162 的 #12418)

  • 现代化测试。(#13547,#13292)

  • osx-arm64 (又名 Apple Silicon) runners 上也运行 GitHub 测试工作流程。启用 osx-arm64 canary 构建。修复或禁用损坏的测试。(#13617)

  • 在发布期间将稳定版本工件上传到 GitHub releases。(#13399)

贡献者#

  • @beeankha

  • @conda-bot

  • @dbast

  • @dholth

  • @FFY00

  • @isuruf

  • @jaimergp

  • @jezdez

  • @jjhelmus

  • @kenodegard

  • @zklaus 在 conda/conda#13579 中做出了首次贡献

  • @ForgottenProgramme

  • @mbargull

  • @travishathaway

  • @pre-commit-ci[bot]

24.1.2 (2024-02-15)#

Bug 修复#

  • 修复启用 repodata_use_zst 时已弃用的 fetch_repodata_remote_request。(#13595)

贡献者#

  • @dholth

24.1.1 (2024-02-12)#

Bug 修复#

  • 如果 repodata.json.zst 无法解压缩为 zstandard,则回退到 repodata.json。(#13558)

  • 在大多数 4xx 错误代码上,从 repodata.json.zst 回退到 repodata.json。(#13573)

贡献者#

  • @dholth

24.1.0 (2024-01-24)#

特别公告#

conda_env.* 模块已合并到 conda 包中!#

为了改进 conda env 子命令(以前是独立的)的集成,我们已将其代码移至 conda 包中,同时允许旧的 conda env 命令仍然通过 Python 导入重定向工作。这是改进与环境管理相关的 conda 命令行界面用户体验的许多步骤中的第一步。(#13168)

增强#

  • 验证待安装软件包的签名,而不是所有软件包的签名。(#11545,#13053)

  • 添加新的 pre-solvespost-solves 插件钩子。(#13053)

  • 添加对 Python 3.12 的支持。(#13072)

  • 检查 repodata.json.zst 以加快 repodata 下载速度。(#13256)

  • conda search 中添加 --skip-flexible-search 选项以跳过灵活搜索。(#13315)

  • 尝试重命名不存在的前缀时,提供更有用的警告。(#13387)

  • 添加一个新标志 --keep-env,与 conda remove --all 一起使用。它允许用户删除环境中的所有软件包,同时保留环境本身。(#13419)

  • 添加 Y/N 提示,警告用户 conda env removeconda remove --all 不仅会删除 conda 软件包,还会删除整个指定环境。(#13440)

  • 添加 --repodata-use-zst/--no-repodata-use-zst 标志以控制 repodata.json.zst 检查;相应的 repodata_use_zst: true/false 用于 .condarc。默认设置为检查 repodata.json.zst。如果远程返回无法解析的 repodata.json.zst 而不是正确的数据或 404,则禁用。(#13504)

Bug 修复#

  • 在尝试写入 environments.txt 文件之前,创建 ~/.conda 目录。(#13338)

  • 确保 PackageRecord.timestamp 以毫秒为单位转储。(#13483)

  • 修复通过 CONDA_REPODATA_FNS 设置非默认 repodata 文件名时出错的问题。(#13490)

  • 修复集成 Anaconda 客户端网关从中加载用户配置的配置文件位置。这是在采用 platformdirs 库后,conda 23.11.0 中引入的回归。(通过 #13520 的 #13517)

  • 将缺少 Cache-Control 标头解释为 max-age=0 而不是异常。(#13522)

弃用#

  • 标记 conda_env/cli/common 为待弃用。请改用 conda.cli.common。(#13168)

  • 标记 conda_env/cli/main_config 为待弃用。请改用 conda.cli.main_env_config。(#13168)

  • 标记 conda_env/cli/main_create 为待弃用。请改用 conda.cli.main_env_create。(#13168)

  • 标记 conda_env/cli/main_export 为待弃用。请改用 conda.cli.main_env_export。(#13168)

  • 标记 conda_env/cli/main_list 为待弃用。请改用 conda.cli.main_env_list。(#13168)

  • 标记 conda_env/cli/main_remove 为待弃用。请改用 conda.cli.main_env_remove。(#13168)

  • 标记 conda_env/cli/main_update 为待弃用。请改用 conda.cli.main_env_update。(#13168)

  • 标记 conda_env/cli/main_vars 为待弃用。请改用 conda.cli.main_env_vars。(#13168)

  • 标记 conda_env/env 为待弃用。请改用 conda.env.env。(#13168)

  • 标记 conda_env/installers/base 为待弃用。请改用 conda.env.installers.base。(#13168)

  • 标记 conda_env/installers/conda 为待弃用。请改用 conda.env.installers.conda。(#13168)

  • 标记 conda_env/installers/pip 为待弃用。请改用 conda.env.installers.pip。(#13168)

  • 标记 conda_env/pip_util 为待弃用。请改用 conda.env.pip_util。(#13168)

  • 标记 conda_env/specs 为待弃用。请改用 conda.env.specs。(#13168)

  • 标记 conda_env/specs/binstar 为待弃用。请改用 conda.env.specs.binstar。(#13168)

  • 标记 conda_env/specs/requirements 为待弃用。请改用 conda.env.specs.requirements。(#13168)

  • 标记 conda_env/specs/yaml_file 为待弃用。请改用 conda.env.specs.yaml_file。(#13168)

  • 标记 conda.testing.integration.make_temp_package_cache 为待弃用。(#13511)

文档#

  • 更新用户指南中的入门文档。(#13190)

  • 添加 GoatCounter (https://www.goatcounter.com/) 作为分析工具。(#13384)

  • conda.cli.main_info 添加类型提示和文档字符串。(#13445)

  • conda.cli.main_search 添加类型提示和文档字符串。(#13465)

其他#

  • VersionOrder 类添加类型提示。(#13380)

  • 通过 ruff 重新启用并应用 pyupgrade。(#13272,#13433)

  • 开始在持续集成中跟踪性能,并在拉取请求中自动报告。(#13460)

  • 添加 tmp_pkgs_dir fixture 以替换 make_temp_package_cache。(#13511)

  • 改进 repodata 缓存的锁定 API。(#13455)

贡献者#

  • @beeankha

  • @conda-bot

  • @dbast

  • @dholth

  • @jaimergp

  • @jezdez

  • @johnnynunez

  • @kathatherine

  • @kenodegard

  • @ForgottenProgramme

  • @marcoesters

  • @mfansler

  • @schuylermartin45 在 conda/conda#13385 中做出了首次贡献

  • @travishathaway

  • @pre-commit-ci[bot]

  • @samhaese 在 conda/conda#13465 中做出了首次贡献

23.11.0 (2023-11-30)#

特别公告#

新的 menuinst v2 支持!

conda 长期以来一直支持 Windows 上的“开始”菜单项。这使得用户可以使用初始化的 conda 会话在 CMD(命令提示符)中打开他们的 Miniconda 提示符。此菜单项(或快捷方式)创建逻辑由 menuinst 包提供。

随着 23.11.0 版本的发布,conda 现在支持 menuinst v2,这使得在 Windows、Linux 和 macOS 上具有相同的体验。这意味着软件包构建者将能够跨所有操作系统提供桌面图标,这对于 GUI 应用程序尤其有用。有关更多详细信息,请参阅 文档

如果您不希望 conda 创建快捷方式,您可以通过以下方式禁用它

  • 在您的 .condarc 配置文件中输入 shortcuts: false

  • CONDA_SHORTCUTS=false 环境变量

  • --no-shortcuts 命令行标志

增强#

  • 添加对 menuinst v2 的支持,使用新的 JSON 模式(参见 CEP-11)在所有平台(Windows、Linux、macOS)上启用快捷方式。保留对旧的 v1 样式 JSON 菜单的支持。(#11882)

  • 停止使用 requests/pip 捆绑的 chardet 包;显式依赖于 charset_normalizer。(#13171)

  • 引入一个新的插件钩子 CondaHealthCheck,作为 conda doctor 的一部分。(#13186)

  • --help 命令列表中包含 activatedeactivate。(#13191)

  • 优先下载较大的软件包,以防止较小的软件包等待。(#13248)

  • conda info 输出中显示使用的 solver,以用于调试目的。(#13265)

  • 添加 __conda 虚拟软件包。(#13266)

  • appdirs 切换到 platformdirs。(#13306)

  • 为中断的软件包下载实现恢复功能。(#8695)

Bug 修复#

  • info 级别记录预期的 JLAP 范围请求错误,当远程文件已滚动时会发生。(#12913)

  • 修复了当使用 --debug 等选项但未指定命令时导致错误的错误。(#13232)

  • 改进并行下载线程的 CTRL-C(取消)处理。(#13234)

  • 允许覆盖 CONDA_FETCH_THREADS/fetch_threads 以将并行软件包下载设置为超出默认值 5。(#13263)

  • 要求 requests >=2.28 以增强 response.json() 异常处理。(#13346)

  • conda.plan 中应用 callback=reset_context 以解决 conda-build + conda-libmamba-solver 不兼容问题。(conda-libmamba-solver#393conda-libmamba-solver#386 通过 #13357)

弃用#

  • 弃用 conda.plugins.subcommands.doctor.health_checks.display_health_checks 函数。(#13186)

  • 弃用 conda.plugins.subcommands.doctor.health_checks.display_report_heading 函数。(#13186)

  • 移除 ruamel_yaml 回退;专门使用 ruamel.yaml。(#13218)

  • 弃用 conda.gateways.anaconda_client.EnvAppDirs,转而使用 platformdirs。(#13306)

  • 标记 conda._vendor.cpuinfo 为待弃用。(#13313)

  • 弃用 conda._vendor.distro,转而使用 distro 包。(#13317)

文档#

  • conda-sphinx-theme 添加到 conda 文档中。(#13298)

  • 更新特定页面以删除冗余的 TOC 条目。(#13298)

  • 在主 README.md 中包含有关更新 conda 的说明。(#13343)

其他#

  • 添加更轻量级的 s3 测试;更新嵌入式测试包索引。(#13085)

  • 重构代码以对 conda.cli.main_* 中的所有相对导入使用惰性导入,并将 argparse 配置函数与 conda.cli.conda_argparse 分离到它们各自的 conda.cli.main_* 模块。(#13173)

  • 将自定义 argparse.Actions 移动到 conda.cli.actions (例如,NullCountAction),并将辅助 argparse 函数重新定位到 conda.cli.helpers (例如,add_parser_prefix)。(#13173)

  • 在发布 0.18 后,将 ruamel.yaml 的上限更新为 <0.19。(#13258)

  • 在 pre-commit 中将 black 替换为 ruff format。(#13272)

贡献者#

  • @AniketP04 在 conda/conda#13224 中做出了首次贡献

  • @beeankha

  • @13rac1 在 conda/conda#13191 中做出了首次贡献

  • @conda-bot

  • @dholth

  • @eltociear

  • @jaimergp

  • @jezdez

  • @kathatherine

  • @kenodegard

  • @kennethlaskoski 在 conda/conda#13322 中做出了首次贡献

  • @ForgottenProgramme

  • @marcoesters

  • @opoplawski

  • @scruel 在 conda/conda#13274 中做出了首次贡献

  • @travishathaway

  • @gfggithubleet 在 conda/conda#13270 中做出了首次贡献

  • @pre-commit-ci[bot]

23.10.0 (2023-10-30)#

✨ 特别公告 ✨#

这是关于 conda 功能重要更改的公告

在此 23.10.0 版本中,我们将 conda 的默认 solver 更改为 conda-libmamba-solver 🥳 🚀#

以前的“经典” solver 基于 pycosat/Picosat,并且在可预见的未来仍将是 conda 的一部分,可以并且可以使用回退方案。

我们为什么要切换 solver?#

简而言之:为了使 conda 更快、更准确。

“solver”是大多数软件包管理器的核心组件;当用户请求从软件包存储库安装软件包时,它会计算要安装哪些依赖项(以及这些依赖项的哪个版本)。为了解决 conda 生态系统中与增长相关的挑战,conda 维护者与合作伙伴 Anaconda、Quansight 和 QuantStack 一起,在 2022 年 12 月推出了 基于 Mamba 项目的新 conda 依赖关系 solver

自 2023 年 7 月以来,conda-libmamba-solver 插件已包含在所有主要的 conda 生态系统安装程序(miniforge、miniconda、mambaforge 和 Anaconda Distribution)中,但默认情况下处于禁用状态。一旦这些安装程序更新为包含 conda 23.10.0 或更高版本,它们将自动默认使用 conda-libmamba-solver 插件。

如果此更新对我不起作用,我该怎么办?#

如果新的 solver 未按预期工作

  • 检查您观察到的行为是否是 已知问题有意更改

  • 如果不是这种情况,请考虑在 conda-libmamba-solver 存储库中提交错误报告或功能请求。

  • 如有必要,您可以返回使用 classic solver,而无需修改您的 conda 安装

    • 如果可能,请将命令行选项 --solver=classic 传递给您的 conda 调用。

    • 否则(例如,对于 conda build ...constructor ...),设置环境变量 CONDA_SOLVER=classic

    • 对于永久性更改,请使用 conda 配置系统:conda config --set solver classic

在哪里可以了解有关 conda-libmamba-solver 的更多信息?#

conda-libmamba-solver 插件的文档可以在 conda.github.io/conda-libmamba-solver 上找到。

有关 conda-libmamba-solver 推广计划的更多信息,另请参阅我们今年早些时候的 博客文章

增强#

  • 提供 --platform--subdir 标志以创建用于非本地平台的环境,并在未来的操作中记住该选择。(通过 #11794 的 #11505)

  • 重要提示:将 solver: libmamba 设置为新的默认 solver。(#12984)

Bug 修复#

  • 检查符号链接的名称,而不是其目标是否与有效的配置文件名(condarc.condarc*.yml/yaml)匹配。(#12956)

  • 使 conda doctor 忽略 ~/.conda/environments.txt 中的空白行。(#12984)

弃用#

  • 标记 conda.cli.main.generate_parser 为待弃用。请改用 conda.cli.conda_argparse.generate_parser。(#13144)

  • 标记 conda.auxlib.collection.firstitem 为待弃用。(#13144)

  • 标记 conda.auxlib.collection.call_each 为待弃用。(#13144)

  • 标记 conda.auxlib.compat.NoneType 为待弃用。(#13144)

  • 标记 conda.auxlib.compat.primative_types 为待弃用。(#13144)

  • 标记 conda.auxlib.compat.utf8_writer 为待弃用。(#13144)

  • 标记 conda.auxlib.exceptions.AuthenticationError 为待弃用。(#13144)

  • 标记 conda.auxlib.exceptions.NotFoundError 为待弃用。(#13144)

  • 标记 conda.auxlib.exceptions.InitializationError 为待弃用。(#13144)

  • 标记 conda.auxlib.exceptions.SenderError 为待弃用。(#13144)

  • 标记 conda.auxlib.exceptions.AssignmentError 为待弃用。(#13144)

  • 标记 conda.auxlib.type_coercion.boolify_truthy_string_ok 为待弃用。(#13144)

  • 标记 conda.auxlib.type_coercion.listify 为待弃用。(#13144)

  • 标记 conda.models.dist.IndexRecord 为待弃用,将在 24.9 版本中移除。(#13193)

  • 标记 conda.exports.fetch_index 为待弃用,将在 24.9 版本中移除。请改用 conda.core.index.fetch_index。(#13194)

其他#

  • 约束最低 conda-build 版本为 >=3.27。(#13177)

贡献者#

  • @conda-bot

  • @dholth

  • @jaimergp

  • @jezdez

  • @kenodegard

  • @timhoffm

  • @pre-commit-ci[bot]

23.9.0 (2023-09-27)#

特别公告#

这是关于 conda 功能未来重要且积极的更改的公告

我们将在特殊的 23.10.0 版本中将 conda 的默认 solver 更改为 conda-libmamba-solver

您现在就可以通过配置您的 conda 安装以使用它来从中受益(例如,运行 conda config --set solver libmamba)。

当前的“经典” solver 基于 pycosat/Picosat,并且在可预见的未来仍将是 conda 的一部分,可以并且可以使用回退方案(见下文)。

计划更改默认 solver#

这是我们更新后的计划,用于更改默认 solver,以更好地遵循 CEP 8 并减少对 conda 用户的潜在影响

  • 即将到来的特殊 23.10.0 版本将专门用于将默认 solver 切换到 libmamba

  • 用户将能够选择退出 libmamba solver 并改用 classic solver,方法是使用以下选项之一

    • the --solver=classic 命令行选项,

    • CONDA_SOLVER=classic 环境变量,或

    • 运行 conda config --set solver classic

  • 所有 conda-libmamba-solver 插件的开发都在 conda-libmamba-solver 仓库中进行,包括问题跟踪。

  • conda-libmamba-solver 插件的文档可以在 conda.github.io/conda-libmamba-solver 上找到。

有关 conda-libmamba-solver 推广计划的更多信息,另请参阅我们今年早些时候的 博客文章

Context#

“solver”是大多数软件包管理器的核心组件;当用户请求从软件包存储库安装软件包时,它会计算要安装哪些依赖项(以及这些依赖项的哪个版本)。为了解决 conda 生态系统中与增长相关的挑战,conda 维护者与合作伙伴 Anaconda、Quansight 和 QuantStack 一起,在 2022 年 12 月推出了 基于 Mamba 项目的新 conda 依赖关系 solver

自 2023 年 7 月起,conda-libmamba-solver 插件已包含在所有主要的 conda 生态系统安装程序(miniforge、miniconda、mambaforge 和 Anaconda Distribution)中并自动安装,默认的求解器配置保持不变

Enhancements#

  • 提高 fish shell 初始化速度。(#12811)

  • 在获取信任元数据时,直接禁止使用 binstar (conda) token。(#12889)

  • 为 conda 添加新的 “auth handler” 插件钩子。(#12911)

  • 默认锁定索引缓存元数据。添加了 --no-lock 选项以应对可能出现的问题,但应该是不必要的。旧的 --experimental=lock 不再起作用。(#12920)

  • 添加 context.register_envs 选项,以控制是否在创建环境时在 ~/.conda/environments.txt 中注册环境。默认为 true。(#12924)

  • 注入新的详细输出详细程度级别(即,旧的 debug 级别 -vv 现在是 -vvv)。(#12985, #12977, #12420, #13036)

  • ssl_verify 配置选项添加对 truststore 的支持,使 conda 能够使用操作系统证书存储(需要 Python 3.10 或更高版本)。(#13075 和 #13149)

  • emscripten-wasm32wasi-wasm32 平台添加到已知平台。(#13095)

  • conda 包添加 py.typed 标记文件,以符合 PEP-561。(#13107)

  • 仅在使用 S3 频道时导入 boto3,从而节省启动时间。(#12914)

Bug fixes#

  • 当将 pip 依赖项与 conda env create 一起使用时,在写入磁盘之前检查目录权限。(#11610)

  • CONDA_SSL_VERIFY=false 时,隐藏 JLAP 的 InsecureRequestWarning,与非 JLAP 行为保持一致。(#12731)

  • 禁止创建前缀中带有冒号的 conda 环境。(#13044)

  • 修复当将 JLAP 与 file:/// URI 一起使用时,记录不存在请求的响应时出现 AttributeError 的问题。(#12966)

  • 在非交互式运行中不显示进度条,以获得更简洁的日志。(#12982)

  • 修复 S3 存储桶名称。(#12989)

  • --json--debug 默认设置为 NULL,以便不覆盖 CONDA_JSONCONDA_DEBUG 环境变量。(#12987)

  • XonshActivator 现在在非交互模式下使用 source-bash,以避免交互式加载 RC 文件带来的副作用。(#13012)

  • 修复 conda remove --all --json 输出。(#13019)

  • 更新测试数据以停止触发安全扫描程序的误报。(#13034)

  • 修复 WSL 上基本命令(例如,conda info)的性能衰退问题。(#13035)

  • 配置 conda 以忽略 “Retry-After” 标头,以避免此值非常大并导致 conda 无限期挂起的情况。(#13050)

  • repodata.info.json 上的 JSONDecodeError 视为警告,等同于缺少 repodata.info.json。(#13056)

  • 修复 conda config --show-sources --json 的排序错误。(#13076)

  • find_commands 中捕获 OSError,以解决 Windows 上不正确的 PATH 条目的问题。(#13125)

  • 在尝试查找第一个可写软件包缓存目录时,捕获 NotWritableError。(#9609)

  • conda env update --prune 仅使用来自 environment.yml 文件的规范,并忽略历史规范。(#9614)

Deprecations#

  • 移除了 conda.another_unicode()。(#12948)

  • 移除了 conda._vendor.toolz。(#12948, #13141)

  • 移除了 conda._vendor.tqdm。(#12948)

  • 移除了 conda.auxlib.decorators.memoized 装饰器。(#12948)

  • 移除了 conda.base.context.Context.experimental_solver。(#12948)

  • 移除了 conda.base.context.Context.conda_private。(#12948)

  • 移除了 conda.base.context.Context.cuda_version。(#12948)

  • 移除了 conda.base.context.get_prefix()。(#12948)

  • 移除了 conda.cli.common.ensure_name_or_prefix()。(#12948)

  • 移除了 --experimental-solver 命令行选项。(#12948)

  • 移除了 conda.common.cuda 模块。(#12948)

  • 移除了 conda.common.path.explode_directories(already_split)。(#12948)

  • 移除了 conda.common.url.escape_channel_url()。(#12948)

  • 移除了 conda.core.index.check_whitelist()。(#12948)

  • 移除了 conda.core.solve._get_solver_class()。(#12948)

  • 移除了 conda.core.subdir_data.read_mod_and_etag()。(#12948)

  • 移除了 conda.gateways.repodata.RepodataState.load()。(#12948)

  • 移除了 conda.gateways.repodata.RepodataState.save()。(#12948)

  • 移除了 conda.lock 模块。(#12948)

  • 移除了 conda_env.cli.common.stdout_json()。(#12948)

  • 移除了 conda_env.cli.common.get_prefix()。(#12948)

  • 移除了 conda_env.cli.common.find_prefix_name()。(#12948)

  • 通过弃用 ftp STOR 支持,移除对已弃用的 cgi 模块的导入。(#13013)

  • 需要 boto3 以支持 S3,并放弃对旧版 boto 的支持,因为它不支持我们要求的最低 Python 版本。(#13112)

  • 通过使用 sys._getframe() 而不是 inspect.stack(),减少来自弃用模块的启动延迟。(#12919)

Other#

  • 在 pre-commit 配置中使用 Ruff linter (#12279)

  • RepoInterface/JlapRepoInterface 中移除未使用的 cache_path 参数;已替换为缓存对象。(#12927)

Contributors#

23.7.4 (2023-09-12)#

Enhancements#

  • 使用 os.scandir() 查找 conda 子命令,而无需 stat() 开销。(#13033, #13067)

Bug fixes#

  • 修复测试套件中的 S3 存储桶名称。(#12989)

  • 修复 WSL 上基本命令(例如,conda info)的性能衰退问题。(#13035)

  • 当用户的 $PATH 包含受限路径时,捕获 conda.cli.find_commands.find_commands 引发的 PermissionError。(#13062, #13089)

  • 修复 conda config --show-sources --json 的排序错误。(#13076)

Contributors#

  • @beeankha

  • @dholth

  • @kenodegard

  • @otaithleigh 在 conda/conda#13035 中做出了首次贡献

23.7.3 (2023-08-21)#

Bug fixes#

  • 修复对安装到非 base 环境中的 conda 可执行插件的支持的回归。(#13006)

Contributors#

  • @kenodegard

23.7.2 (2023-07-27)#

Bug fixes#

  • 修复解析可执行插件的 --json--debug 标志时的回归。(#12935, #12936)

Contributors#

  • @kenodegard

23.7.1 (2023-07-26)#

Bug fixes#

  • 使用 pre_args 修补解析后的 args,以正确解析 --json--debug 参数。(#12928, #12929)

Contributors#

  • @jezdez

  • @kenodegard

23.7.0 (2023-07-25)#

Enhancements#

  • 添加 conda.deprecations.DeprecationHandler.action 助手以弃用 argparse.Action。(#12493)

  • 添加对 FreeBSD 操作系统 的支持,并将 freebsd-64 注册为 FreeBSD 在 x86-64 上的已知子目录。(#12647)

  • 当提供 --name--prefix 时,不模拟 $CONDA_PREFIX。(#12696)

  • 在 MatchSpec 语法中添加对 sha256 过滤器的支持(例如 *[sha256=f453db4ffe2271ec492a2913af4e61d4a6c118201f07de757df0eff769b65d2e])。(#12654 通过 #12707)

  • conda doctor 添加新的健康检查,通过比较预期和计算的 sha256 校验和来检测环境中已更改的软件包。(#12757)

  • 添加新的 pre_commandspost_commands 插件钩子,允许插件在 conda 子命令之前和之后运行代码。(#12712, #12758, #12864)

  • 停止直接使用 distutils,转而使用 setuptools 60 及更高版本或标准库等效项中的 vendored 版本。(#11136)

  • 在仓库根目录中添加 CITATION.cff 文件,以方便用户引用 conda。(#12781)

  • 添加可选的 CondaSubcommand.configure_parser,允许第三方插件挂接到 conda 的参数解析器。(#12814)

  • 仅在 conda --help 中显示第三方子命令,而不是在每个其他子命令中都显示。(#12814, #12740)

  • 添加新的配置选项 no_plugins --no-plugins 命令行标志和 CONDA_NO_PLUGINS 环境变量,用于禁用内置 conda 命令的外部插件。(#12748)

  • 使用插件的规范/完全限定名称注册插件,而不是容易被欺骗的入口点名称。(#12869)

  • conda --help 中去重插件和旧版子命令。(#12893)

  • 实施 2 阶段解析器,以更好地处理插件禁用(通过 --no-plugins)。(#12910)

  • 重构子命令解析以使用贪婪解析器,因为 argparse.REMAINDER 存在 已知问题。(#12910)

Bug fixes#

  • 使用 requests.exceptions.JSONDecodeError 以确保与 requests 使用的不同 json 实现的兼容性。这修复了一个错误,该错误导致仅尝试使用多个给定源 URL 中的第一个。这也将最低要求的 requests 版本提高到 2.27.0。(#12683)

  • CONDA_OVERRIDE_OSX="" 时,不导出 __osx 虚拟包。(#12715)

  • 修复 conda deactivate 的错误行为,即取消设置与 conda activate 期间设置的那些相同的预先存在的环境变量。(#12769)

  • 更正第三方子命令以接收剩余参数,而不是一概而论的 sys.argv[2:],后者破坏了 conda_cli 测试。(#12814, #12910)

Deprecations#

  • conda.base.context.context.root_dir 标记为即将弃用。请改用 conda.base.context.context.root_prefix。(#12701)

  • conda.plugins.subcommands.doctor.cli.get_prefix 标记为即将弃用。请改用 conda.base.context.context.target_prefix。(#12725)

  • conda.models.leased_path_entry.LeasedPathEntry 标记为即将弃用。(#12735)

  • conda.models.enums.LeasedPathType 标记为即将弃用。(#12735)

  • conda.common.temporary_content_in_file 标记为即将弃用。请改用 tempfile。(#12795)

  • conda.cli.python_api 标记为即将弃用。请改用 conda.testing.conda_cli fixture。(#12796)

Docs#

  • 记录如何使用新的 pre_commandspost_commands 插件钩子。(#12712, #12758)

  • 为所有公共模块添加文档字符串。(#12792)

  • 使用 sphinx-autoapi 自动生成 API 文档。(#12798)

  • 使用 sphinx-reredirects 将所有手动重定向转换为配置。(#12798)

  • 修订插件索引页面,使其更容易理解如何创建 conda 插件。(#12802)

  • 添加缺少的 conda env CLI 文档。(#12841)

Other#

  • 更新 tests/cli/test_main_rename.py 以使用最新的 fixtures。(#12517)

  • 更新 tests/test_activate.py 以测试新行为。(#12769)

  • 重新启用所有 conda_env 测试并删除不相关的测试。(#12813)

  • 将所有 unittest 样式的测试转换为 pytest 样式。(#12819)

  • tests/test-recipes 转换为本地 noarch 软件包,而不是依赖 conda-test 频道和本地构建。(#12879)

Contributors#

23.5.2 (2023-07-13)#

Bug fixes#

  • 修正 native_path_to_unix 无法处理没有路径的情况(例如,空字符串或空的可迭代对象)。(#12880)

Contributors#

  • @kenodegard

23.5.1 (2023-07-12)#

Bug fixes#

  • 添加(回)cygpath 后备逻辑,因为 cygpath 并非始终在 Windows 上可用。(#12873)

Contributors#

  • @kenodegard

23.5.0 (2023-05-17)#

Enhancements#

  • 添加 conda doctor 子命令插件。(#474)

  • 添加 Python 3.11 支持。(#12256)

  • 添加 conda list --reverse 以返回已安装软件包的反向列表。(#11954)

  • setup.py 切换到 pyproject.toml,并使用 Hatchling 作为我们的构建系统。(#12509)

  • 优化在 conda activate 调用期间导入的 Python 模块,以使其更快。(#12550)

  • 添加 conda_cli fixture 以替换 conda.testing.helpers.run_inprocess_conda_commandconda.testing.integration.run_command。(#12592)

  • 添加 tmp_env fixture 以替换 conda.testing.integration.make_temp_env。(#12592)

  • 添加 path_factory fixture 以替换自定义前缀逻辑,例如 conda.testing.integration._get_temp_prefixconda.testing.integration.make_temp_prefix。(#12592)

  • 重构 Activator 类在 conda/activate.py 中的定义方式。(#12627)

  • 当启用签名验证时,发出关于错误配置的警告。(#12639)

Bug fixes#

  • 如果我们未能获取文件统计信息,conda clean 不再失败。(#12536)

  • 如果 conda.deprecations.DeprecationHandler 收到错误版本,则提供回退版本。(#12541)

  • context.subdir 在非 Windows 平台上为 win-* 时,确保 defaults 的默认值包含 msys2。(#12555)

  • 避免将非字符串类型写入索引缓存元数据时出现 TypeError。(#12562)

  • package_path 具有 .conda 扩展名时,conda.core.package_cache_data.UrlsData.get_url 不再失败。(#12516)

  • 停止在 Windows 上的 conda.sh 中预先将路径转换为 Unix 样式,以便它们在安装时可进行前缀替换,这被 #12509 破坏了。它还在运行时依赖于 cygpath,Windows 上的所有 msys2/cygwin bash 版本都应该可用。(#12627)

Deprecations#

  • conda_env.pip_util.get_pip_version 标记为即将弃用。(#12492)

  • conda_env.pip_util.PipPackage 标记为即将弃用。(#12492)

  • conda_env.pip_util.installed 标记为即将弃用。(#12492)

  • conda_env.pip_util._canonicalize_name 标记为即将弃用。(#12492)

  • conda_env.pip_util.add_pip_installed 标记为即将弃用。(#12492)

  • conda_env.env.load_from_directory 标记为即将弃用。(#12492)

  • python -m conda_env.cli.main 标记为即将弃用。请改用 conda env。(#12492)

  • python -m conda_env 标记为即将弃用。请改用 conda env。(#12492)

  • conda.auxlib.packaging 标记为在 24.3.0 版本中弃用。(#12509)

  • 将索引缓存元数据文件 .state.json 重命名为 .info.json,以跟踪 draft CEP。(#12669)

  • conda.testing.integration.get_conda_list_tuple 标记为即将弃用。请改用 conda.core.prefix_data.PrefixData().get()。(#12676)

  • conda.testing.encode_for_env_var 标记为即将弃用。(#12677)

  • conda.testing.integration.temp_chdir 标记为即将弃用。请改用 monkeypatch.chdir。(#12678)

Docs#

  • 将 README 示例从 IPython Notebook 和 NumPy 更改为 PyTorch。(#12579)

  • 讨论可用于正确配置镜像频道的选项。(#12583, #12641)

  • flake8-docstrings 添加到 pre-commit。(#12620)

Other#

  • 更新灵活求解和 repodata 日志中的重试语言,使其不那么不祥。(#12612)

  • 改进 repodata / subdir_data 编程接口 (#12521)。索引缓存元数据已更改为 .info.json,以更好地与 draft CEP 对齐。改进使用 jlap 时的缓存锁定。改进 jlap 日志记录。(#12572)

  • 使用 black 格式化,并将 pre-commitdarker hook 替换为 black。(#12554)

  • 使用 isort 格式化,并添加 pre-commit isort hook。(#12554)

  • 围绕 conda 的内容信任代码添加功能测试。(#11805)

  • 启用 flake8 检查,这些检查现在由 black 处理。(#12620)

Contributors#

23.3.1 (2023-03-28)#

Enhancements#

  • 修复并重新启用 binstar 测试。将自定义属性缓存替换为 functools.cached_property。(#12495)

Bug fixes#

  • 恢复 conda-index 使用的 SubdirData 方法的默认参数。(#12513)

  • 在软件包中包含 conda.gateways.repodata.jlap 子模块。(#12545)

Other#

  • 将 linux-s390x 添加到 multi-arch ci/dev 容器。(#12498)

  • 公开 MINIO_RELEASE 环境变量,以提供一种在 CI 设置脚本中 pin minio 版本的方法。(#12525)

  • 添加 jsonpatch 依赖项以支持 --experimental=jlap 功能。(#12528)

Contributors#

  • @conda-bot

  • @dbast

  • @dholth

  • @jaimergp

  • @kenodegard

  • @ForgottenProgramme

23.3.0 (2023-03-14)#

Enhancements#

  • 允许在 environment.yaml 中对频道 URL 使用环境变量。(#10018)

  • 改进了 conda env create 在环境文件丢失时显示的错误消息。(#11883)

  • 停止使用 toolz.dicttoolz.mergetoolz.dicttoolz.merge_with。(#12039)

  • 添加了对使用 --experimental=jlap 命令行选项或 .condarc 中的 experimental: ["jlap"] 进行增量 repodata.json 更新的支持 (#12090)。注意:在“使用 jlap”和“不使用 jlap”之间切换会使缓存失效。

  • 添加了新的 conda.deprecations 模块,以便更轻松和标准化地进行弃用。包括用于标记函数、模块、类和参数以进行弃用的装饰器,以及用于标记模块、常量和主题以进行弃用的函数。(#12125)

  • 添加了新的 channel_settings 配置参数,该参数将用于覆盖每个频道的任意设置。(#12239)

  • 通过延迟创建单个 PackageRecord 对象,提高 repodata.json 解析速度。(#8500)

  • 重构子命令参数解析,使其更易于理解。这在调用默认参数解析之前调用插件。(#12285)

  • 处理检索频道通知时引发的 I/O 错误。(#12312)

  • 添加对 Linux 上 64 位 RISC-V 架构的支持。(#12319)

  • 更新 vendored 版本的 py-cpuinfo 至 0.9.0。 (#12319)

  • 改进代码覆盖率。 (#12346, #12457, #12469)

  • 添加关于在 PackagesNotFoundError 异常时启用 use_only_tar_bz2 的说明。 (#12353)

  • 在 conda CLI 帮助中添加了可以使用 conda remove -n <myenv> --all 来删除环境的说明。 (#12378)

  • 优雅地处理从入口点加载 conda 插件时的 Python 导入错误。 (#12460)

Bug 修复#

  • 修复了在没有激活环境的情况下重命名时出现的错误。 (#11915)

  • 防止在引发 PackagesNotFoundError 时进行双重求解尝试。 (#12201)

  • 虚拟包遵循 context.subdir 而不是 platform.system(),以实现跨平台安装。 (#12219)

  • CONDA_OVERRIDE_GLIBC="" 时,不导出 __glibc 虚拟包。 (#12267)

  • 修复 conda.xsh--version--helparg_parse 传递。 (#12344)

  • 在 Unix 系统上,对于没有 home 目录且以 root 身份运行的用户,从 pwd.getpwall() 中过滤掉 None 路径值。 (#12063)

  • 捕获 ChunkedEncodingError 异常,以防止网络错误回溯影响输出。 (#12196 via #12487)

  • 修复 mkdir_p_sudo_safe 中的竞争条件。 (#12490)

弃用#

  • 弃用 toolz.itertoolz.unique,转而使用自定义的 conda.common.iterators.unique 实现。 (#12252)

  • 停止使用 OrderedDict/odict,因为自 Python 3.7 起 dict 保留插入顺序。 (#12254)

  • 标记 conda._vendor.boltons 将在 23.9.0 版本中弃用。 (#12272, #12482)

  • 标记 context.py 中的 conda_execli/main_info.pyprint_package_info 的一个主题以正式弃用。 (#12398)

  • 移除 conda.common.compat 中未使用的 chainmethodcallermkdtempStringIO 导入;在测试套件中应用来自 ruff --fix . 的其他修复。 (#12294)

  • 移除基于 *[track_features=<feature name>] 搜索包的未使用优化。 (#12314)

  • conda env 中移除 Notebook spec 支持;此功能已弃用,并计划在 4.5 版本中移除。 (#12307)

  • 标记 context.py 中的 conda_execli/main_info.pyprint_package_info 的一个主题以正式弃用。 (#12276)

  • 标记 conda.utils.hashsum_file 为待弃用。请改用 conda.gateways.disk.read.compute_sum。 (#12414)

  • 标记 conda.utils.md5_file 为待弃用。请改用 conda.gateways.disk.read.compute_sum(path, "md5")。 (#12414)

  • 标记 conda.gateways.disk.read.compute_md5sum 为待弃用。请改用 conda.gateways.disk.read.compute_sum(path, "md5")。 (#12414)

  • 标记 conda.gateways.disk.read.compute_sha256sum 为待弃用。请改用 conda.gateways.disk.read.compute_sum(path, "sha256")。 (#12414)

  • 放弃 Python 3.7 支持。 (#12436)

文档#

  • 添加了关于 conda.deprecations 的文档。 (#12452)

  • 将一些 “Anaconda Cloud” 实例更新为 “Anaconda.org”。 (#12238)

  • 添加了关于 conda searchconda install 规范的文档。 (#12304)

  • 标记 conda.utils.safe_open 为弃用。请改用内置的 open。 (#12415)

其他#

  • 更新 <cache key>.json.state repodata.json 缓存格式;检查 mtime 与缓存的 repodata.json。 (#12090)

  • 在 Linux 上以 root 身份运行时,跳过冗余的 tar --no-same-owner,因为较新的 conda-package-handling 避免从归档设置所有权。 (#12231)

  • 为将来使用向 conda.common.path 添加额外的扩展名。 (#12261)

  • 在测试运行器脚本中传递 --cov,但不在 setup.cfg 默认值中传递,以便于调试。 (#12268)

  • 将 conda-build 约束为至少 >=3.18.3,发布于 2019-06-20。 (#12309)

  • 改进 start.bat Windows 开发脚本。 (#12311)

  • 提供基于 conda-forge 的 Docker 镜像,并修复捆绑的 minio 二进制文件。 (#12335)

  • 添加对基于 conda-forge 的 CI 运行时的支持。在 Linux(所有架构)上,单元测试和集成测试将使用 Python 3.10。在 Windows 上,使用 Python 3.8。在 macOS 上,仅单元测试使用 conda-forge(*而不是* defaults!),使用 Python 3.9。 (#12350, #12447 via #12448)

  • 修复了测试数据问题,其中某些文件中的 subdir 条目不匹配。 (#12389)

  • 在 CI 期间安装测试要求后初始化 conda。 (#12446)

  • 通过移除忽略的 hooks (pylint/bandit),将 pre-commit 速度提高了 15 倍。这在本地将 pre-commit 运行时从约 43 秒减少到 2.9 秒,从而可以在开发期间循环运行 pre-commit,以不断提供反馈和代码风格化。 (#12466)

贡献者#

23.1.0 (2023-01-17)#

Bug 修复#

  • 在子进程中检测 CUDA 驱动程序版本。 (#11667)

  • 修复了 conda init--no-user 标志的行为,以便用户的 .bashrc 等文件保持不变,符合预期。 (#11949)

  • 修复了通过模糊测试发现的更多面向用户的 MatchSpec 崩溃问题。 (#12099)

  • 锁定 sys.stdout 以避免损坏 --json 多线程下载进度。 (#12231)

文档#

  • 可选的 Bash 自动补全支持已从 v4.4.0 版本开始移除,而不仅仅是弃用。 (#11171)

  • 记录了可选的 channel::package 语法,用于在 environment.yml 文件中指定依赖项。 (#11890)

其他#

  • 重构 repodata.json 获取;更新磁盘缓存格式。基于 @FFY00 的工作。 (#11600)

  • 仅当环境变量与操作系统中指定的变量不同时,才会打印环境变量覆盖警告。 (#12128)

  • 添加了 conda-libmamba-solver 运行约束。 (#12156)

  • 更新了 ruamel.yaml 版本。 (#12156)

  • 添加了 tqdm 依赖项。 (#12191)

  • 使用 itertools.chain.from_iterable 代替等效的 tlz.concat。 (#12165)

  • 使用 toolz.unique 代替 vendored 副本。 (#12165)

  • 使用 itertools.islice 代替 toolz.take。 (#12165)

  • 更新 CI 测试工作流程,使其仅在发生代码更改时运行测试套件。 (#12180)

  • 添加了 Python 3.10 金丝雀构建。 (#12184)

贡献者#

22.11.1 (2022-12-06)#

Bug 修复#

  • 恢复与 22.9.0 版本相同的默认虚拟包规范 (#12148)

    • 重新添加 __unix / __win

    • 恢复 __archspec 版本/构建字符串组合

其他#

  • 对于非代码更改,跳过测试套件。 (#12141)

贡献者#

  • @LtDan33

  • @jezdez

  • @kenodegard

  • @mbargull

  • @travishathaway

22.11.0 (2022-11-23)#

增强#

  • 将 LD_PRELOAD 添加到环境变量列表。 (#10665)

  • 改进关于更新 conda 的 CLI 警告。 (#11300)

  • Conda 在用户配置文件的初始化块中,将检查 conda 可执行文件是否存在,然后再调用 conda hook。 (#11374)

  • 切换到 tqdm 作为真正的依赖项。 (#12005)

  • 添加新的插件机制。 (#11435)

  • 如果由于请求的包不在缓存中而导致显式安装失败,则添加信息性消息。 (#11591)

  • 并行下载和解压包。当延迟较高时,大大加快包下载速度。由新的 fetch_threads 配置参数控制,默认为 5 个并行下载。感谢 @shuges-uk 的报告。 (#11841)

  • 为虚拟包添加新的插件 hook,并将现有虚拟包代码(来自 index.py)转换为插件。 (#11854)

  • 要求 ruamel.yaml。 (#11868, #11837)

  • 停止使用 toolz.accumulate。 (#12020)

  • 停止使用 toolz.groupby。 (#11913)

  • 移除 vendored six 包。 (#11979)

  • 添加使用 conda_solvers 插件 hook 扩展求解器后端的 ability。 (#11993)

  • 停止使用 toolz.functoolz.excepts。 (#12016)

  • 停止使用 toolz.itertoolz.concatv。 (#12020)

  • 在替换前缀时,也尝试 UTF16 和 UTF32 编码。 (#9946)

Bug 修复#

  • 当处理 git 仓库的 pip 安装且该仓库之前已检出时,conda env update 会要求用户输入并挂起。告知 pip 在这种情况下不要要求用户输入。 (#11818)

  • 修复了与频道通知相关的 conda updateconda install 问题。 (#11852)

  • 签名验证在禁用时打印 None,将默认的 metadata_signature_status 更改为空字符串。 (#11944)

  • 修复了在 python=3.10 上导入 conda.cli.python_api 时的 importlib 警告。 (#11975)

  • 通过模糊测试发现了几个面向用户的 MatchSpec 崩溃问题。 (#11999)

  • 应用最小的修复来处理这些(和类似的)崩溃。 (#12014)

  • 阻止 conda 对其自身的入口点使用 /bin/sh + exec 技巧,这会在某些 shell 上丢弃 $PS1 (#11885, #11893 via #12043)。

  • 更优雅地处理包下载期间的 CTRL+C。 (#12056)

  • 当 MatchSpec 两次指定包的名称 package-name[name=package-name] 时,首选外部名称 (#12062)

弃用#

  • 添加从 conda._vendor 导入 tqdm 时的待弃用警告。 (#12005)

  • 弃用 ruamel_yamlruamel_yaml_conda,转而使用 ruamel.yaml。 (#11837)

  • context.experimental_solver 现在被标记为待弃用。它已被 context.solver 替换。这同样适用于 --experimental-solver 标志、CONDA_EXPERIMENTAL_SOLVER 环境变量和 ExperimentalSolverChoice 枚举,它们将分别被 --solverEXPERIMENTAL_SOLVERSolverChoice 替换。 (#11889)

  • 标记 context.conda_private 为待弃用。 (#12101)

文档#

  • 为新的插件机制添加相应的文档。 (#11435)

  • 更新 4.14.0 版本的 conda 速查表。速查表现在包含 conda rename 的示例。 (#11768)

  • 记录 conda-build 包格式 v2,也称为 .conda 格式。 (#11881)

  • 从文档中移除 allow_other_channels 配置选项,因为该选项已不再存在。 (#11866)

  • 修复 conda 文档中指向 “Introduction to conda for Data Scientists” 课程的错误 URL。 (#9782)

其他#

  • 在代码中添加注释,解释了在执行 conda init 时,为什么在 Linux 上修改 .bashrc,而在 Windows/macOS 上修改 .bash_profile。 (#11849)

  • dev/start 添加 --mach--arch 选项。 (#11851)

  • 移除文件头中的编码 pragma,因为 Python 3 中不再需要它。 (#11880)

  • conda init SHELLS 重构为 argparse choices。 (#11897)

  • 从 pre-commit 检查中删除 pragma 修复。 (#11909)

  • 将 pyupgrade 添加到 pre-commit 检查。此更改影响许多文件。现有的 pull request 可能需要更新、rebase 或合并以解决冲突。 (#11909)

  • 添加 aarch64 和 ppc64le 作为额外的 CI 平台进行冒烟测试。 (#11911)

  • 使用本地服务器提供测试所需的包文件。 (#12024)

  • 更新金丝雀构建,以保证为触发工作流程的提交构建。 (#12040)

贡献者#

22.9.0 (2022-09-14)#

特别公告#

如果您之前一直关注 conda 项目,您会注意到此版本的版本号发生了变化。我们已正式切换到 CalVer 版本控制系统,这是在 CEP 8(Conda 增强提案)中商定的。

请阅读该 CEP 以获取更多信息,但这里有一个快速概要。我们希望这个版本控制系统和我们的发布计划将有助于使我们的发布对社区而言更可预测和透明。我们现在致力于至少每两个月发布一个版本,但请记住,我们可以在此窗口内进行(并且很可能会进行)次要版本发布。

增强#

  • 将 vendored toolz 替换为 toolz 依赖项。 (#11589, #11700)

  • 更新 Windows 的捆绑 Python 启动器 (conda/shell/cli-*.exe),使其与 conda-build 中找到的启动器匹配。 (#11676)

  • 添加 win-arm64 作为已知平台 (subdir)。 (#11778)

Bug 修复#

  • 移除与 shell 接口相关的额外前缀注入,该注入破坏了 conda run。 (#11666)

  • 更好地支持带有空格的前缀中的 shebang 指令。 (#11676)

  • 修复 Windows 上包含 Unicode 的前缀中的 noarch 入口点。 (#11694)

  • 确保引发的异常正确显示,而不是导致空白的 [y/N] 提示。 (#11746)

弃用#

  • 标记 conda._vendor.toolz 为待弃用。 (#11704)

  • 移除 vendored 版本的 urllib3。 (#11705)

文档#

  • 将 conda 大写标准添加到 CONTRIBUTING 文件。 (#11712)

其他#

  • 向开发脚本 . ./dev/start 添加 arm64 支持。 (#11752)

  • 更新金丝雀发布版本以解决金丝雀构建问题。 (#11761)

  • 将金丝雀 recipe 从 conda.recipe 重命名为 recipe。 (#11774)

贡献者#

  • @beeankha

  • @chenghlee

  • @conda-bot

  • @dholth

  • @isuruf

  • @jaimergp

  • @jezdez

  • @razzlestorm 的首次贡献在 conda/conda#11736

  • @jakirkham

  • @kathatherine

  • @kenodegard

  • @scdub 的首次贡献在 conda/conda#11816

  • @travishathaway

  • @pre-commit-ci[bot]

4.14.0 (2022-08-02)#

增强#

  • 仅在 conda info --envs/conda env list 中星标已激活的环境。 (#10764)

  • 添加新的子命令 conda notices,用于检索频道通知。 (#11462)

  • 在运行 installcreateupdateenv createenv update 后,通知将间歇性显示。新通知只会显示一次。 (#11462)

  • 实现了新的 rename 子命令。 (#11496)

  • SSLErrorHTTPError 中分离出来,以帮助解决 HTTP 000 错误。 (#11564)

  • 在错误消息中包含无效的包名称。 (#11601)

  • 提升 requests 版本 (>=2.20.1) 并删除 monkeypatching。 (#11643)

  • whitelist_channels 重命名为 allowlist_channels。 (#11647)

  • 在通知新的 conda 更新时,始终提及频道。 (#11671)

Bug 修复#

  • 修正了误导性的 conda --help 错误消息。 (#11625)

  • 修复了 WSL2 上 CUDA 版本检测的支持。 (#11626)

  • 修复了向 conda env create 命令提供空 environment.yml 时的错误。 (#11556, #11630)

  • 修复了 FIPS 启用系统上的 MD5 哈希生成。 (#11658)

  • 修复了当日志设置为 DEBUG 且无法读取包的 JSON 时遇到的 TypeError。 (#11679)

弃用#

  • conda.cli.common.ensure_name_or_prefix 在未来的版本中即将弃用。 (#11490)

  • 标记 conda.lock 为待弃用。 (#11571)

  • 移除 lgtm.com 配置。 (#11572)

  • 移除 Python 2.7 conda.common.url.is_ipv6_address_win_py27 实现。 (#11573)

  • 移除冗余的 conda.resolve.dashlist 定义。 (#11578)

  • 标记 conda_env.cli.common.get_prefixconda.base.context.get_prefix 为待弃用,转而使用 conda.base.context.determine_target_prefix。 (#11594)

  • 标记 conda_env.cli.common.stdout_json 为待弃用,转而使用 conda.cli.common.stdout_json。 (#11595)

  • 标记 conda_env.cli.common.find_prefix_name 为待弃用。 (#11596)

  • 标记 conda.auxlib.decorators.memoize 为待弃用,转而使用 functools.lru_cache。 (#11597)

  • 标记 conda.exports.memoized 为待弃用,转而使用 functools.lru_cache。 (#11597)

  • 标记 conda.exports.handle_proxy_407 为待弃用。 (#11597)

  • 重构 conda.activate._Activator.get_export_unset_vars 以使用 **kwargs 代替 OrderedDict。 (#11649)

  • 标记 conda.another_to_unicode 为待弃用。 (#11678)

文档#

  • notices 子命令的相应文档。 (#11462)

  • rename 子命令的相应文档。 (#11496)

  • 将文档 URL 更正为 https://docs.conda.org.cn。 (#11508)

  • 更新了现在可以在 Use Condarc 部分中扩展的环境变量列表。 (#11514)

  • 包含通知,告知由于 安全问题,“所有用户”安装选项在 Anaconda 安装程序中不再可用。 (#11528)

  • 更新 conda-zsh-completeion 链接。 (#11541)

  • 当包含 pip 安装的依赖项时,缺少 pip 作为依赖项。 (#11543)

  • README.rst 转换为 README.md。 (#11544)

  • 更新了文档和 CLI 帮助,以包含有关 conda init 参数的信息。 (#11574)

  • 添加了用于编写集成测试的文档。 (#11604)

  • 已更新 conda env create CLI 文档描述和示例,使其更实用。 (#11611)

其他#

  • 在 CI 中显示测试摘要。 (#11558)

  • 更新 Dockerfileci-images.yml 流程以构建多架构镜像。 (#11560)

  • 将 master 分支重命名为 main。 (#11570)

贡献者#

  • @drewja 在 #11614 中做出了他们的首次贡献

  • @beeankha

  • @topherocity 在 #11658 中做出了他们的首次贡献

  • @conda-bot

  • @dandv 在 #11636 中做出了他们的首次贡献

  • @dbast

  • @dholth

  • @deepyaman 在 #11598 中做出了他们的首次贡献

  • @dogukanteber 在 #11556/#11630 中做出了他们的首次贡献

  • @jaimergp

  • @kathatherine

  • @kenodegard

  • @nps1ngh 在 #10764 中做出了他们的首次贡献

  • @pseudoyim 在 #11528 中做出了他们的首次贡献

  • @SamStudio8 在 #11679 中做出了他们的首次贡献

  • @SamuelWN 在 #11543 中做出了他们的首次贡献

  • @spencermathews 在 #11508 中做出了他们的首次贡献

  • @timgates42

  • @timhoffm 在 #11601 中做出了他们的首次贡献

  • @travishathaway

  • @esc

  • @pre-commit-ci[bot]

4.13.0 (2022-05-19)#

增强#

  • 引入 conda clean --logfiles 以删除由 conda-libmamba-solver 生成的日志文件。 (#11387)

  • 将 solver 名称和版本添加到 user-agent。 (#11415, #11455)

  • 尝试将 HTTP 错误解析为 JSON 并提取错误详细信息。 如果存在,则优先使用这些详细信息而不是硬编码的详细信息。 (#11440)

Bug 修复#

  • 修复 conda clean --dryrun 的不一致性 (#11385)

  • 标准化 conda clean 中的 tarball 和包查找 (#11386, #11391)

  • 修复 Windows 上的 escape_channel_url 逻辑 (#11416)

  • 在 GET 标头中使用 ‘Accept’ 标头,而不是 ‘Content-Type’ (#11446)

  • 允许扩展用户代理收集失败,但记录异常 (#11455)

弃用#

  • 删除已弃用的 conda.cli.activate。 最初在 2018 年 5 月的 conda 4.6.0 中弃用。 (#11309)

  • 删除已弃用的 conda.compat。 最初在 2018 年 5 月的 conda 4.6.0 中弃用。 (#11322)

  • 删除已弃用的 conda.install。 最初在 2018 年 5 月的 conda 4.6.0 中弃用。 (#11323)

  • 删除已弃用的 conda.cli.main_help。 最初在 2018 年 5 月的 conda 4.6.0 中弃用。 (#11325)

  • 删除未使用的 conda.auxlib.configuration。 (#11349)

  • 删除未使用的 conda.auxlib.crypt。 (#11349)

  • 删除未使用的 conda.auxlib.deprecation。 (#11349)

  • 删除未使用的 conda.auxlib.factory。 (#11349)

  • 删除最少使用的 conda.auxlib.path。 (#11349)

  • 删除 conda.exports.CrossPlatformStLink,这是一个 Windows Python <3.2 修复 os.lstat.st_nlink 的补丁。 (#11351)

  • 删除 Python 2.7 和其他旧代码 (#11364)

  • conda run --live-stream 别名 conda run --no-capture-output。 (#11422)

  • 删除未使用的异常。 (#11424)

  • 将 conda_env.exceptions 与 conda.exceptions 结合。 (#11425)

  • 删除 Python 3.6 支持。 (#11453)

  • 删除过时的测试 test_init_dev_and_NoBaseEnvironmentError (#11469)

文档#

  • 深度探索文档的初始实现 (#11059)

  • 更正 Windows 安装程序参数中的 RegisterPython 描述。 (#11312)

  • conda compare 添加了 autodoc 文档。 (#11336)

  • 删除 manage-python.rst 中的重复指令 (#11381)

  • 更新 conda 速查表。 (#11443)

  • 修复整个代码库中的拼写错误 (#11448)

  • 修复 conda activate 示例 (#11471)

  • 使用新的 anaconda 发行版本更新了 conda 4.12 速查表 (#11479)

其他#

  • 添加 Python 3.10 作为测试目标。 (#10992)

  • vendoring 替换自定义 conda._vendor (#11290)

  • 用 vendored frozendict 替换 conda.auxlib.collection.frozendict (#11398)

  • conda.cli.main_clean 重组和新增测试 (#11360)

  • 删除 vendored urllib3 的用法,并改为实现我们自己的 std. lib urllib 包装器 (#11373)

  • 升级 vendored py-cpuinfo 版本 4.0.0 → 8.0.0。 (#11393)

  • 添加信息性 Codecov 状态检查 (#11400)

贡献者#

  • @beeankha 在 #11469 中做出了他们的首次贡献

  • @ChrisPanopoulos 在 #11312 中做出了他们的首次贡献

  • @conda-bot

  • @dholth

  • @jaimergp

  • @jezdez

  • @kathatherine 在 #11443 中做出了他们的首次贡献

  • @kenodegard

  • @kianmeng 在 #11448 中做出了他们的首次贡献

  • @simon9500 在 #11381 中做出了他们的首次贡献

  • @thomasrockhu-codecov 在 #11400 中做出了他们的首次贡献

  • @travishathaway 在 #11373 中做出了他们的首次贡献

  • @pre-commit-ci[bot]

4.12.0 (2022-03-08)#

增强#

  • 添加对 libmamba 集成的支持。 (#11193)

    这是一个新的实验性和选择性加入功能,允许使用新的 conda-libmamba-solver 以获得改进的用户体验,它基于 libmamba 社区项目 - mamba 包管理器的库版本。

    请按照以下步骤试用新的 libmamba solver 集成

    1. 确保您的 conda base 环境中安装了 conda-libmamba-solver

    2. 使用 --experimental-solver=libmamba 命令行选项试用 solver。

      例如,使用 dry-run 安装 scipy

      conda create -n demo scipy --dry-run --experimental-solver=libmamba
      

      或在激活的 conda 环境中安装

      conda activate my-environment
      conda install scipy --experimental-solver=libmamba
      
  • 确保 conda env update -f 从引用的 yaml 文件设置 env 变量。 (#10652)

  • 改进命令行参数引用,特别是对于 conda run。 (#11189)

  • 允许 conda run 在只读环境中工作。 (#11215)

  • 添加对 prelink_message 的支持。 (#11123)

  • 添加了 conda.CONDA_SOURCE_ROOT。 (#11182)

Bug 修复#

  • conda.utils.ensure_comspec_set 重构为 conda.utils.get_comspec。 (#11168)

  • conda.cli.common.is_valid_prefix 重构为 conda.cli.common.validate_prefix。 (#11172)

  • 实例化单独的 S3 会话以实现线程安全。 (#11038)

  • 将过于冗长的 info 日志更改为 debug。 (#11260)

  • 删除 five.py 并更新元类定义。 (#11267)

  • 删除 setup.py 中不必要的条件 (#11013)

文档#

  • 在 download.rst 中阐明 AIE 消息。 (#11221)

  • 修复 conda 环境变量回显,更新示例版本。 (#11237)

  • 修复文档中的链接。 (#11268)

  • 更新 profile 示例。 (#11278)

  • 修复拼写错误。 (#11070)

  • 记录 conda run 命令。 (#11299)

其他#

  • 将 macOS 添加到持续集成。 (#10875)

  • 添加了构建每个 pullrequest review 构建的能力。 (#11135)

  • 改进了 Windows 上的子进程处理。 (#11179)

  • 添加 CONDA_SOURCE_ROOT 环境变量。 (#11182)

  • 自动检查版权/许可声明和编码编译指示。 (#11183)

  • 每个 Python 版本的开发环境。 (#11233)

  • 添加并发组以取消对分支/PR 的重复推送上的 GHA 运行。 (#11258)

  • 仅在非 fork 上运行 GHA。 (#11265)

贡献者#

  • @opoplawski

  • @FaustinCarter

  • @jaimergp

  • @rhoule-anaconda

  • @jezdez

  • @hajapy

  • @erykoff

  • @uwuvalon

  • @kenodegard

  • @manics

  • @NaincyKumariKnoldus

  • @autotmp

  • @yuvipanda

  • @astrojuanlu

  • @marcelotrevisani

4.11.0 (2021-11-22)#

增强#

  • 允许 channel_alias 插入环境变量。

  • 支持在 Windows 上使用 PyPy 运行 conda。

  • 在使用 conda config 子命令时,添加、追加和前置序列值的功能。

  • 在版本解析器中支持 Python 3.10。

  • 根据 XDG Base Directory Specification (XDGBDS),将 XDG_CONFIG_HOME 添加到 conda 搜索路径。

Bug 修复#

  • 修复 PowerShell 激活器,使其在取消设置环境变量时不会显示错误。

  • 删除 fish shell 集成中多余的 eval 语句。

  • 使用 fish_indent 缩进 conda fish 集成文件。

  • 修复包含等号 (=) 的环境变量的处理。

  • 处理列出所有已知前缀时的权限错误。

  • 捕获解析 conda-meta 文件时的 Unicode 解码错误。

  • 修复尝试创建包缓存或 env 目录时处理写入错误。

文档#

  • 更新 RHEL 系统中 conda repo 的路径为 /etc/yum.repos.d/conda.repo

  • 修复高级 pip 示例,以停止使用现在无效的 file: 前缀。

  • 小的文档清理并添加行为准则。

  • 基于 C4 Model 为 conda 添加自动构建的架构文档。 有关更多信息,请参阅 conda 文档。

  • 扩展贡献文档,增加一个关于静态代码分析和代码 linting 的章节。

  • 开发者指南部分 添加到文档中,包括 conda 架构概述

  • conda update 失败并出现错误时,停止提及更新 anaconda。

其他#

  • 在 GitHub Actions 上定期构建 Docker 镜像,用于 Linux 上的持续集成测试,并将它们存储在 GitHub Packages 的注册表中,以减少使用 Docker Hub 时的延迟和成本。

  • 通过组合使用的 shell 脚本来简化 Linux GitHub actions 工作流程。

  • 添加定期 GitHub Actions 工作流程,以审查 conda 问题跟踪器中的旧问题,并在合理的时间内未提供反馈时将其标记为过时,最终将其关闭。

  • 添加定期 GitHub Actions 工作流程,以锁定 conda GitHub 存储库中旧问题和 pull 请求的评论线程,以便在新问题中浮现回归。

  • 重构测试套件以并行使用更多 GitHub Actions runners,将总运行时间缩短 50%。

  • 切换问题跟踪器以使用带有附加问题表格,以帮助进行工单分类。

  • 添加并自动运行 pre-commit 作为 CI 系统的一部分,以持续提高代码质量,并在早期提出贡献补丁中的问题。

    使用的代码 linters 是:flake8pylintbandit

    Python 代码格式化程序 black 也被使用,但仅在提交中更改的代码上强制执行,而不是一次性应用于整个代码库。

  • 在成功合并到 master 分支后自动构建 conda 包,并将其上传到 anaconda.org 上的 conda-canary 频道。

    要试用 conda,只需运行

    conda install -c conda-canary/label/dev conda
    
  • 自动将新问题添加到 公共 GitHub 项目看板,以方便问题分类。

  • 更新 GitHub 问题和 pull 请求标签,使其更一致。

  • 开始使用 rever 进行发布管理。

  • (预览) 为 Linux 开发启用一键式 gitpod 和 GitHub Codespaces 设置。

贡献者#

  • Benjamin Bertrand

  • Chawye Hsu

  • Cheng H. Lee

  • Dan Meador

  • Daniel Bast

  • Daniel Holth

  • Gregor Kržmanc

  • Hsin-Hsiang Peng

  • Ilan Cosman

  • Isuru Fernando

  • Jaime Rodríguez-Guerra

  • Jan-Benedikt Jagusch

  • Jannis Leidel

  • John Flavin

  • Jonas Haag

  • Ken Odegard

  • Kfir Zvi

  • Mervin Fansler

  • bfis

  • mkincaid

  • pre-commit CI

4.10.3 (2021-06-29)#

Bug 修复#

  • 恢复了 4.10.2 中 “在导入时不要创建未使用的 S3 客户端 (#10516)”,这为使用基于 S3 频道的用户引入了回归。 (#10756)

4.10.2 (2021-06-25)#

增强#

  • conda env create 添加 --dry-run 选项 (#10635)

  • 仅打印一次关于 pip 安装的依赖项的警告 (#10638)

  • 显式安装现在遵循 --download-only 标志 (#10688)

  • 升级 vendored tqdm 版本 (#10721)

Bug 修复#

  • 修复 PowerShell 的 changeps1 处理 (#10624)

  • 处理未绑定的 $PS1,以便 sh 激活不会因 set -u 而失败 (#10701)

  • 修复 sh 激活,以便在错误时正确恢复 $PATH (#10631)

  • 修复 -c 选项处理,以便不会始终重新添加 defaults 频道 (#10735)

  • 修复与工件验证相关的警告和错误 (#10627, #10677)

  • 修复 conda/core/prefix_data.py 中使用的日志级别 (#9998)

  • 修复获取工件验证元数据时使用的日志级别 (#10621)

  • 在导入时不要创建未使用的 S3 客户端 (#10516)

  • 在需要之前不要加载 binstar_client (#10692)

  • 反映 setup.py 中删除的旧版本 Python (#10642)

文档#

  • 合并发行说明和变更日志以减少维护负担 (#10745)

  • 提及 PyPy、Anaconda 服务条款 (#10329, #10712)

  • 更新示例中的 Python 版本 (#10329, #10744)

  • 更新 macOS 安装说明 (#10728)

贡献者#

  • @AlbertDeFusco

  • @awwad

  • @casperdcl

  • @cgranade

  • @chenghlee

  • @ColemanTom

  • @dan-hook

  • @dbast

  • @ericpre

  • @HedgehogCode

  • @jamesp

  • @jezdez

  • @johnhany97

  • @lightmare

  • @mattip

  • @maxerbubba

  • @mrakitin

  • @stinos

  • @thermokarst

4.10.1 (2021-04-12)#

Bug 修复#

  • 修复 __linux 虚拟包的版本检测 (#10599)

  • 修复从 conda_content_trust 导入 (#10589)

  • 修复如何构建验证元数据文件的 URL (#10617)

  • 部分修复 MSYS2 上的 profile $PATH 设置 (#10459)

  • 即使未安装 rsync 也删除 .empty 目录 (#10331)

贡献者#

  • @awwad

  • @chenghlee

  • @codepage949

  • @niklasholm

4.10.0 (2021-03-30)#

注意:此版本正式停止支持 Python 2.7 和 Python < 3.6。

增强#

  • 添加对元数据签名和验证的试点支持 (#10578)

  • 添加 __linux 虚拟包 (#10552, #10561)

  • 支持在使用 conda config --get 时使用嵌套键 (#10447, #10572)

  • 支持在使用 conda env create 时安装默认包 (#10530)

  • 支持 conda env update -f 的 HTTP 源 (#10536)

  • 使 macOS 代码签名操作不那么冗长 (#10372)

Bug 修复#

  • 修复 conda search 在 Python 3.9 上崩溃的问题 (#10542)

  • 允许 {channel}::pip 满足 pip 要求 (#10550)

  • 支持环境 YAML 文件中的 {host}:{port} 规范 (#10417)

  • 如果用户 .condarc 不存在,则回退到系统 .condarc (#10479)

  • 读取环境 YAML 文件时,如果 UTF-8 失败,则尝试 UTF-16 (#10356)

  • 正确解析 Python 版本 >= 3.10 (#10478)

  • 当定义了 $ZDOTDIR 时,修复 zsh 初始化 (#10413)

  • 修复 csh 的路径处理 (#10410)

  • 修复 vendored ruamel_yaml_condasetup.py 要求 (#10441)

  • 修复 pickling vendored auxlib 对象时的错误 (#10386)

文档#

  • 记录 __unix__windows 虚拟包 (#10511)

  • 更新支持和默认 Python 版本列表 (#10531)

  • 在设置 CI 时,建议使用 pip 而不是 setup.py (#10308)

其他#

  • CI:删除 Python 2.7 并添加 Python 3.9 (#10548)

贡献者#

  • @awwad

  • @BastianZim

  • @beenje

  • @bgobbi

  • @blubs

  • @chenghlee

  • @cjmartian

  • @ericpre

  • @erykoff

  • @felker

  • @giladmaya

  • @jamesmyatt

  • @mingwandroid

  • @opoplawski

  • @saadparwaiz1

  • @saucoide

4.9.2 (2020-11-10)#

增强#

  • conda.resolve 中使用 vendored tqdm 以获得更好的一致性 (#10337)

Bug 修复#

  • use_only_tar_bz2 配置选项为 false 时,恢复到 repodata 缓存文件的先前命名方案 (#10350)

文档#

  • 修复缺少的发行说明 (#10342)

  • 修复配置 deb 存储库时的权限错误 (#10347)

贡献者#

  • @chenghlee

  • @csoja

  • @dylanmorroll

  • @sscherfke

4.9.1 (2020-10-26)#

增强#

  • 遵循 PEP 440 ~= “兼容版本” 子句 (#10313)

Bug 修复#

  • 删除 Win32 的 preload_openssl (#10298)

  • if exist 添加到 Windows 注册表 hook (#10305)

贡献者#

  • @mingwandroid

4.9.0 (2020-10-19)#

增强#

  • 添加 osx-arm64 作为已识别的平台 (#10128, #10134, #10137)

  • 重新签名在 ARM64 macOS 上安装期间修改的文件 (#10260)

  • 添加 __archspec 虚拟包以识别 CPU 微架构 (#9930)

  • 添加 __unix__win 虚拟包 (#10214)

  • conda run 添加 --no-capture--output 选项 (#9646)

  • conda run 添加 --live-stream 选项 (#10270)

  • 导出和导入使用 conda env config 设置的环境变量 (#10169)

  • 缓存来自 file:// 频道的 repodata (#9730)

  • 不要重新链接已安装的软件包 (#10208)

  • 加速 logz 模块中的 JSON 格式化 (#10189)

Bug 修复:#

  • 阻止 env remove --dry-run 实际删除环境 (#10261)

  • 求解器现在考虑虚拟包要求 (#10057)

  • 修复仅使用 tar.bz2 时缓存文件名处理 (#10193)

  • 当 CUDA 不是依赖项时,停止显示关于 CUDA 的求解器提示 (#10275)

  • 在检查环境一致性时忽略虚拟包 (#10196)

  • 修复某些情况下 config --json 输出错误 (#10194)

  • conda shell 更一致的错误处理 (#10238)

  • 升级 vendored tqdm 版本以修复各种线程和 I/O 错误 (#10266)

文档#

  • 正确说明 Windows 安装程序中的默认 /AddToPath 选项 (#10179)

  • 修复 --repodata-fn 帮助文本中的拼写错误 (#10279)

其他#

  • 更新 CI 基础设施以使用 GitHub Actions (#10176, #10186, #10234)

  • 更新 README 徽章以显示 GitHub Actions 状态 (#10254)

贡献者#

  • @AlbertDeFusco

  • @angloyna

  • @bbodenmiller

  • @casperdcl

  • @chenghlee

  • @chrisburr

  • @cjmartian

  • @dhirschfeld

  • @ericpre

  • @gabrielcnr

  • @InfiniteChai

  • @isuruf

  • @jjhelmus

  • @LorcanHamill

  • @maresb

  • @mingwandroid

  • @mlline00

  • @xhochy

  • @ydmytryk

4.8.5 (2020-09-14)#

增强#

  • 添加 osx-arm64 作为已识别的平台 (#10128, #10134)

贡献者#

  • @isuruf

  • @jjhelmus

4.8.4 (2020-08-06)#

增强#

  • 添加 linux-ppc64 作为已识别的平台 (#9797, #9877)

  • 添加 linux-s390x 作为已识别的平台 (#9933, #10051)

  • 为 pip 安装程序添加 spinner (#10032)

  • 添加在 PyPy 中运行 conda 的支持 (#9764)

  • 支持使用远程规范文件创建 conda 环境 (#9835)

  • 允许在各种 HTTP 错误上重试请求 (#9919)

  • 添加用于比较环境与规范文件的 compare 命令 (#10022)

  • 添加(初步)对 JSON 格式激活的支持 (#8727)

  • 正确处理 CURL_CA_BUNDLE 环境变量 (#10078)

  • 在导出环境时更统一地处理 $CONDA_PREFIX (#10092)

  • 启用尾随 _ 以锚定类似 OpenSSL 的版本 (#9859)

  • scandir 替换 listdirglob (#9889)

  • 在搜索受约束的包时忽略虚拟包 (#10117)

  • 添加要在求解器中考虑的虚拟包 (#10057)

Bug 修复:#

  • 防止 remove --all 删除非环境目录 (#10086)

  • 防止 create --dry-run --yes 删除现有环境 (#10090)

  • 从环境导出文件中删除多余的换行符 (#9649)

  • 在不完整的 conda env config 命令上打印帮助,而不是崩溃 (#9660)

  • conda run 退出时,正确设置退出代码/错误级别 (#9665)

  • 将 “环境不一致” 警告发送到 stderr,以避免破坏 JSON 输出 (#9738)

  • 修复 post-link 脚本的输出格式 (#9841)

  • 修复频道子目录的 URL 解析 (#9844)

  • 修复 conda env export -f 有时生成空输出文件的问题 (#9909)

  • 修复处理具有两位小数版本的 Python 版本 (#9999)

  • 不要使用 gid 来确定用户是否是 *nix 平台上的管理员 (#10002)

  • 抑制虚假的 xonsh 激活警告 (#10005)

  • 修复在不存在的环境上运行 conda update --all 时崩溃的问题 (#10028)

  • 修复 Python 3.8 的 collections 导入 (#10093)

  • 修复与 regex 相关的弃用警告 (#10093, #10096)

  • 修复在 64 位平台上 Python 2.7 下运行时出现的逻辑错误 (#10108)

  • 修复 Python 3.8 泄漏的 semaphore 问题 (#10115)

文档#

  • 修复格式和拼写错误 (#9623, #9689, #9898, #10042)

  • 更正 yum 存储库配置文件的位置 (#9988)

  • 阐明 --channel 选项的用法 (#10054)

  • 阐明默认情况下 Python 不会安装到新环境中 (#10089)

其他杂项#

  • 修复测试和 CI 管道问题 (#9842, #9863, #9938, #9960, #10010)

  • 移除开发 conda 的 conda-forge 依赖 (#9857, #9871)

  • 审核 YAML 用法,检查 safe_loadround_trip_load 的使用 (#9902)

贡献者#

  • @alanhdu

  • @angloyna

  • @Anthchirp

  • @Arrowbox

  • @bbodenmiller

  • @beenje

  • @bernardoduarte

  • @birdsarah

  • @bnemanich

  • @chenghlee

  • @ChihweiLHBird

  • @cjmartian

  • @ericpre

  • @error404-beep

  • @esc

  • @hartb

  • @hugobuddel

  • @isuruf

  • @jjhelmus

  • @kalefranz

  • @mingwandroid

  • @mlline00

  • @mparry

  • @mrocklin

  • @necaris

  • @pdnm

  • @pradghos

  • @ravigumm

  • @Reissner

  • @scopatz

  • @sidhant007

  • @songmeixu

  • @speleo3

  • @tomsaleeba

  • @WinstonPais

4.8.3 (2020-03-13)#

文档#

  • 为 4.8.2 版本添加发布说明到文档 (#9632)

  • 修复文档中的错别字 (#9637, #9643)

  • 语法和格式更改 (#9647)

Bug 修复:#

  • 考虑 channel is specs (#9748)

贡献者#

  • @bernardoduarte

  • @forrestwaters

  • @jjhelmus

  • @msarahan

  • @rrigdon

  • @timgates42

4.8.2 (2020-01-24)#

增强#

  • 改进 Solver 消息传递 (#9560)

文档#

  • 添加优先级和冲突信息 (#9565)

  • 添加如何使用 config API 设置环境变量 (#9536)

  • 更新用户指南,删除概述,小幅清理 (#9581)

  • 添加行为准则 (#9601, #9602, #9603, #9603, #9604 #9605)

Bug 修复:#

  • 仅当 changeps1 为 true 时才更改 fish 提示符 (#7000)

  • 使 frozendict 可进行 JSON 序列化 (#9539)

  • Conda env 创建空目录 (#9543)

贡献者#

  • @msarahan

  • @jjhelmus

  • @rrigdon

  • @soapy1

  • @teake

  • @csoja

  • @kfranz

4.8.1 (2019-12-19)#

增强#

  • 通过避免 Popen.communicate 提高 conda run 的性能 (#9381)

  • 将 conda keyring 放置在 Debian 的 /usr/share/keyrings 中 (#9424)

  • 重构 common.logic 以修复一些错误并为更好的模块化做准备 (#9427)

  • 支持嵌套配置 (#9449)

  • 支持 Object 配置参数 (#9465)

  • 使用 freeze_installed 加速 conda env update (#9511)

  • 为 conda env create 添加网络参数 (#9525)

文档#

  • 修复关于 CONDA_EXE 的字符串连接运行单词的问题 (#9411)

  • 修复错别字 (“list” -> “info”) (#9433)

  • condarc 密钥 envs_dirs 中的错别字 (#9478)

  • 澄清 channel 优先级和包排序 (#9492)

  • 改进 DLL 加载验证和激活环境的描述 (#9453)

  • 使用特定的构建编号安装 (#9534)

Bug 修复:#

  • 修复使用列表和字符串参数调用 python api run_command 的问题 (#9331)

  • 恢复 init bash 补全 (#9421)

  • 将 tmp 设置为排除空格的缩短路径 (#9409)

  • 避免在重新加载 conda.fish 时重新定义函数 (#9444)

  • 在使用 conda env 创建 envs 时传播 pip 错误级别 (#9460)

  • 修复不正确的 chown 调用 (#9464)

  • 将 subdir 添加到 PackageRecord dist_str (#9418)

  • 修复在 Windows 上在多个进程中运行 conda activate 的问题 (#9477)

  • 不要在 pkgs 中检查 trash (#9472)

  • 从 recipe 中的 run_constrained 中移除 setuptools (#9485)

  • 修复 __conda_activate 函数以正确返回退出代码 (#9532)

  • 修复 subprocess 为 conda run 完成的过度贪婪的捕获 (#9537)

贡献者#

  • @AntoinePrv

  • @brettcannon

  • @bwildenhain

  • @cjmartian

  • @felker

  • @forrestwaters

  • @gilescope

  • @isuruf

  • @jeremyjliu

  • @jjhelmus

  • @jhultman

  • @marcuscaisey

  • @mbargull

  • @mingwandroid

  • @msarahan

  • @okhoma

  • @osamoylenko

  • @rrigdon

  • @rulerofthehuns

  • @soapy1

  • @tartansandal

4.8.0 (2019-11-04)#

增强#

  • 如果下载失败则重试下载,由 remote_max_retriesremote_backoff_factor 配置值控制 (#9318)

  • 编辑某些 URL 中的身份验证信息 (#9341)

  • 添加 osx 版本虚拟包,__osx (#9349)

  • 添加 glibc 虚拟包,__glibc (#9358)

文档#

  • 从文档中移除对 MD5 的引用 (#9247)

  • 添加关于 CONDA_DLL_SEARCH_MODIFICATION_ENABLED 的文档 (#9286)

  • 记录线程、spec 历史记录和配置 (#9327)

  • 关于 channels 的更多文档 (#9335)

  • 记录 .condarc 搜索顺序 (#9369)

  • 各种小的文档修复 (#9238, #9248, #9267, #9334, #9351, #9372, #9378, #9388, #9391, #9393)

Bug 修复#

  • 修复 Windows 上 xonsh 激活的问题 (#8246)

  • 从 conda clean 中移除不支持的 --lock 参数 (#8310)

  • 不要将 sys_prefix_path 添加到失败的激活或停用 (#9282)

  • 修复 csh setenv 命令 (#9284)

  • 不要记忆 PackageRecord.combined_depends (#9289)

  • 在激活脚本中使用 CONDA_INTERNAL_OLDPATH 而不是 OLDPATH (#9303)

  • 修复 xonsh 激活和制表符补全 (#9305)

  • 修复当 context.offline 为 True 时查询的 channels (#9385)

贡献者#

  • @analog-cbarber

  • @andreasg123

  • @beckermr

  • @bryant1410

  • @colinbrislawn

  • @felker

  • @forrestwaters

  • @gabrielcnr

  • @isuruf

  • @jakirkham

  • @jeremyjliu

  • @jjhelmus

  • @jooh

  • @jpigla

  • @marcelotrevisani

  • @melund

  • @mfansler

  • @mingwandroid

  • @msarahan

  • @rrigdon

  • @scopatz

  • @soapy1

  • @WillyChen123

  • @xhochy

4.7.12 (2019-09-12)#

增强#

  • 添加对基于历史记录中显式 specs 创建 env 文件的支持 (#9093)

  • 当未给出 -p 或 -n 时检测 prefix 路径 (#9135)

  • 添加配置参数以禁用冲突查找(以加快错误出现时间)(#9190)

Bug 修复#

  • 修复 repodata 缓存目录创建中的竞争条件 (#9073)

  • 修复 ProxyError 预期参数 (#9123)

  • makedirs 初始化 .conda 文件夹,用于注册 env - 修复创建包缓存时 .conda 文件夹不存在导致的权限错误 (#9215)

  • 修复读取 repodata/prefix 数据时列表重复错误 (#9132)

  • 修复中性化的 specs 未记录在历史记录中,导致稍后出现无法满足的环境 (#9147)

  • 标准化平台之间的 “conda env list” 行为 (#9166)

  • 为 conda env create/update 添加 JSON 输出 (#9204)

  • 加速查找冲突 specs(4.7.11 中的速度回归)(#9218)

贡献者#

  • @beenje

  • @Bezier89

  • @cjmartian

  • @forrestwaters

  • @jjhelmus

  • @martin-raden

  • @msarahan

  • @nganani

  • @rrigdon

  • @soapy1

  • @WesRoach

  • @zheaton

4.7.11 (2019-08-06)#

增强#

  • 添加用于控制线程数的配置。这些可以在 condarc 中或使用环境变量设置。名称/默认值为:default_threads/None, repodata_threads/None, verify_threads/1, execute_threads/1 (#9044)

Bug 修复#

  • 修复不遵守 condarc 中的 repodata_fns (#8998)

  • 修复处理 FREEZE_INSTALLED 以外的 UpdateModifiers (#8999)

  • 改进冲突查找图遍历 (#9006)

  • 修复由于 conda run_constrains 导致 setuptools 被移除的问题 (#9014)

  • 避免在所有重试都用完之前调用 find_conflicts (#9015)

  • 重构 _conda_activate.bat,希望改善并行环境中的行为 (#9021)

  • 添加对 PYPI 安装包中本地版本 specs 的支持 (#9025)

  • 修复 boto3 初始化竞争条件 (#9037)

  • 修复 package_cache_data 中的返回条件 (#9039)

  • 利用 conda-package-handling 提供的 libarchive_enabled 属性,仅回退到 .tar.bz2 文件。 (#9041, #9053)

  • 修复 Windows 上菜单创建具有竞争条件,导致弹出关于找不到 python.exe 的窗口 (#9044)

  • 改进 egg-link 导致额外 egg-infos 时的列表错误 (#9045)

  • 修复在对具有 conda 依赖项之一的 env 进行操作时,但不位于当前使用的 conda 所在的 env 中时,出现不正确的 RemoveError (#9054)

文档#

  • 更好地记录新的包格式

  • 记录 conda init 命令

  • 记录 CDN 支持的 channels 克隆的 RSS feed 的可用性

贡献者#

  • @Bezier89

  • @forrestwaters

  • @hajapy

  • @ihnorton

  • @matthewwardrop

  • @msarahan

  • @rogererens

  • @rrigdon

  • @soapy1

4.7.10 (2019-07-19)#

Bug 修复#

  • 修复 specs 的合并

  • 修复 prefix 图中链构建中的错误

贡献者#

  • @msarahan

4.7.9 (2019-07-18)#

Bug 修复#

  • 修复理解中的 Non records

  • 修复深度优先搜索中潜在的 keyerror

  • 修复 PackageNotFound 属性错误

贡献者#

  • @jjhelmus

  • @msarahan

4.7.8 (2019-07-17)#

改进#

  • 改进无法满足的消息 - 尝试更好地分组和解释输出。移除 4.7.7 中显示的许多无关内容 (#8910)

  • 在 windows 上预加载 openssl,以避免库冲突和库丢失问题 (#8949)

Bug 修复#

  • 修复在多个 channel 包含具有相似名称、subdir、版本和 build_number 的包的情况下对 channel 的处理。这导致了一些用户的神秘的无法满足的错误。 (#8938)

  • 反转检查 channel 相等性的逻辑检查,因为 == 对于 py27 来说不是 != 的倒数(没有 __ne__)(#8938)

  • 修复在构建无法满足的信息时出现的无限循环或过大的进程。改进深度优先搜索的实现。 (#8941)

  • 简化在冻结解决失败时回退到未冻结解决的路径。 (#8942)

  • 环境激活输出现在仅显示 conda activate envname,而不是有时仅显示 activate。 (#8947)

贡献者#

  • @forrestwaters

  • @jjhelmus

  • @katietz

  • @msarahan

  • @rrigdon

  • @soapy1

4.7.7 (2019-07-12)#

改进#

  • 当更新命令因已安装软件与更新冲突而未执行任何操作时,将显示有关冲突的信息,而不是仅显示“所有请求均已满足”(#8899)

Bug 修复#

  • 修复在查找虚拟包时缺少 package_type 属性 (#8917)

  • 修复并行加载索引操作以保留 channel 排序 (#8921, #8922)

  • 在制作图表以显示无法满足的 deps 时,从 PackageRecords 中过滤掉 PrefixRecords。修复不匹配类型之间的比较错误。 (#8924)

  • 在运行 post-link 脚本之前安装入口点,因为 post link 脚本可能依赖于入口点。 (#8925)

贡献者#

  • @jjhelmus

  • @msarahan

  • @rrigdon

  • @soapy1

4.7.6 (2019-07-11)#

改进#

  • 改进 cuda 虚拟包冲突消息,以显示作为冲突一部分的 __cuda 虚拟包 (#8834)

  • 向 Resolve.solve 添加额外的调试信息 (#8895)

Bug 修复#

  • 去重为 post-link 脚本显示的错误消息。在失败时显示捕获的 stdout/stderr (#8833)

  • 修复 Windows 开发环境设置说明中的 checkout 步骤 (#8827)

  • 当隐式 python pinning 导致显式 spec 无法满足时,尽早退出 (#8834)

  • 更好地处理 pinned specs 中的边缘情况 (#8843)

  • 如果 url 为 None,则再次提取包 (#8868)

  • 更新关于索引和 subdirs 的文档 (#8874)

  • 移除关于 conda-build 需要更新的困扰人们的警告 (#8884)

  • 仅当 fn 不是 repodata.json 时才将 repodata fn 添加到缓存键中 (#8900)

  • 允许使用显式 spec 降级 conda (#8892)

  • 从历史 specs 向 specs 添加目标 (#8901)

  • 改进在使用 repodata 文件解决问题之前 repodata.json 失败时的消息 (#8907)

  • 修复 “which” 功能的 distutils 用法。修复在没有 noarch 包的 envs 中无法更改 python 版本的问题 (#8909)

  • 修复 anaconda 元包因历史记录匹配过于严格而被移除的问题 (#8911)

  • 使冻结不那么激进;添加回退到非冻结解决 (#8912)

贡献者#

  • @forrestwaters

  • @jjhelmus

  • @mcopes73

  • @msarahan

  • @richardjgowers

  • @rrigdon

  • @soapy1

  • @twinssbc

4.7.5 (2019-06-24)#

改进#

  • 改进当找不到特定的 *_repodata.json 时的信息性消息中的措辞。无需惊慌。 (#8808)

Bug 修复#

  • 恢复在 win-32 appveyor 上运行的测试 (#8801)

  • 修复 Dist 类处理 .conda 文件的问题 (#8816)

  • 修复当包无法满足且因此不在集合中时,严格的 channel 优先级处理 (#8819)

  • 更好地处理在提取时包已损坏时的 JSONDecodeError (#8820)

贡献者#

  • @dhirschfeld

  • @msarahan

  • @rrigdon

4.7.4 (2019-06-19)#

改进#

  • 恢复并改进 4.7.2 中被回退到 4.7.3 的无法满足性确定。它更快。 (#8783)

Bug 修复#

  • 修复 tcsh/csh init 脚本 (#8792)

文档改进#

  • 清理 run_command 的文档

  • 修复损坏的链接

  • 更新 docs environment.yaml 文件以更新 conda-package-handling

  • conda logo favicon

  • 更新严格的 channel 优先级信息

  • 从 conda-forge 移植 noarch 包内容

  • 添加关于 conda-forge 的信息

  • 移除对 conda 4.1 之前事物的引用。那是很久以前的事了。这不是一本历史书。

贡献者#

  • @jjhelmus

  • @msarahan

  • @rrigdon

  • @soapy1

4.7.3 (2019-06-14)#

Bug 修复#

  • 目标 prefix 重写适用于入口点以及标准文件中的替换 (#8769)

  • 恢复到基于求解器的无法满足性确定 (#8775)

  • 修复 powershell 中现有提示符函数的重命名 (#8774)

贡献者#

  • @jjhelmus

  • @msarahan

  • @rrigdon

  • @ScottEvtuch

4.7.2 (2019-06-10)#

行为变更#

  • 现在以稍微不同的方式确定无法满足性。它不再使用 SAT 求解器,而是确定在运行 get_reduced_index 后是否有任何 specs 完全没有候选者。这在基准测试中更快,但我们欢迎您在使用案例中提供进一步的数据,以了解这是否是一个好的更改。 (#8741)

  • 当为 install 命令使用 --only-deps 标志时,conda 现在会显式地将这些 specs 记录在您的历史记录中。这主要用于减少 conda 意外删除您实际请求的包的可能性。 (#8766)

改进#

  • UnsatisfiableError 消息现在被分组到类别中,并得到更好的解释。 (#8741)

  • –repodata-fn 参数可以多次传递以具有更多回退路径。repodata_fns conda 配置设置执行相同的操作,但可以避免您为每个命令调用都执行此操作。 (#8741)

Bug 修复#

  • 修复在添加与早期 channel 不同的 channel 时发生的 channel 翻转 (#8741)

  • 重构多个 repodata 文件的流程控制,使其不使用异常 (#8741)

  • 如果安装了 conda-build <3.18.3,则强制 conda 仅使用旧的 .tar.bz2 文件。Conda-build 在检查文件内容时会中断,这在 conda-build 3.18.3 中得到了修复 (#8741)

  • 使用 rsync 时使用 --force 以改善在目标位置可能以某种方式存在文件夹时的行为。 (#8750)

  • 处理重命名时的 EPERM 错误,因为 MacOS 允许您删除或创建文件,但不允许重命名文件。感谢 Apple。 (#8755)

  • 修复 conda 在运行 updateremove 命令时删除通过带有 --only-deps 标志的 install 安装的包的问题。请参阅上面的行为变更。 (#8766)

贡献者#

  • @csosborn

  • @jjhelmus

  • @katietz

  • @msarahan

  • @rrigdon

4.7.1 (2019-05-30)#

改进#

  • 基于显式请求的 specs(新的和历史的)初始化 solver specs map (#8689)

  • 改进自动错误报告的匿名化 (#8715)

  • 添加选项以继续使用 .tar.bz2 文件,以防新的 .conda 因任何原因无法工作 (#8723)

Bug 修复#

  • 修复解析带连字符的 PyPI specs(将版本中的连字符更改为 .)(#8688)

  • 修复文件输入为 .conda 文件时的 PrefixRecord 创建 (#8689)

  • 修复 pip 安装包的 PrefixRecord 创建 (#8689)

  • 修复进度条在 75% 处停止的问题(使用新的 libarchive 时没有提取进度)(#8689)

  • 在 conda.exports 中保留 pre-4.7 download() 接口 (#8698)

  • 虚拟包(例如 cuda)按照惯例用前导双下划线表示,以避免与服务于其他目的的现有单下划线包混淆 (#8738)

弃用/重大更改#

  • --prune 标志不再执行任何操作。由于初始 solver specs 来自显式请求的 specs,因此修剪现在是隐式的标准行为。Conda 将删除未显式请求且未被任何显式安装的包直接或间接要求的包。

文档改进#

  • 记录从 defaults 中移除 free channel (#8682)

  • 添加对 conda config --describe 的引用 (#8712)

  • 为 .condarc 修改添加教程 (#8737)

贡献者#

  • @alexhall

  • @cjmartian

  • @kalefranz

  • @martinkou

  • @msarahan

  • @rrigdon

  • @soapy1

4.7.0 (2019-05-17)#

改进#

  • 实现对 “虚拟” CUDA 包的支持,使 conda 考虑系统安装的 CUDA 驱动程序并采取相应的措施 (#8267)

  • 支持并优先使用新的 .conda 文件格式(如果可用)(#8265, #8639)

  • 在堆叠 envs 时,在提示符中使用逗号分隔的 env 名称 (#8431)

  • 在 enums 的错误消息中显示有效选项 (#8602)

  • 在现有 envs 中运行 conda install 作为首次尝试时冻结已安装的包,以加快解决速度。必要时回退到完整解决 (#8260, #8626)

  • 添加优化标准,在其他方面等效时优先选择 arch 而不是 noarch 包 (#8267)

  • 从 defaults 集合中移除 free channel。如果您想保留它,请添加 restore_free_channel 配置参数。 (#8579)

  • 改进无法满足的提示 (#8638)

  • 添加使用自定义 repodata 文件名的功能,用于 repodata 的较小子集 (#8670)

  • 并行化 SubdirData 读取 (#8670)

  • 并行化事务验证和执行 (#8670)

Bug 修复#

  • 修复使用 deactivate.d 脚本的 PATH 处理 (#8464)

  • 修复已弃用的 collections ABCs 的用法 (#)

  • 修复 tcsh/csh 初始化块 (#8591)

  • 修复 powershell 提示符中缺少 CWD 显示的问题 (#8596)

  • wrap_subprocess_call: 如果没有 bash 则回退到 sh (#8611)

  • 移动 TemporaryDirectory 以避免从 conda.compat 导入 (#8671)

  • 修复 dev/start 中缺少 conda-package-handling 依赖项的问题 (#8624)

  • 修复 path_to_url 字符串索引超出范围错误 (#8265)

  • 修复 xonsh 的 conda init (#8644)

  • 修复 fish 激活 (#8645)

  • 改进只读文件系统的错误处理 (#8665, #8674)

  • 当二分法无处可去时,跳出最小化 (#8672)

  • 优雅地处理链接 channel 名称的 None 值 (#8680)

贡献者#

  • @chrisburr

  • @EternalPhane

  • @jjhelmus

  • @kalefranz

  • @mbargull

  • @msarahan

  • @rrigdon

  • @scopatz

  • @seibert

  • @soapy1

  • @nehaljwani

  • @nh3

  • @teake

  • @yuvalreches

4.6.14 (2019-04-17)#

Bug 修复#

  • 在 powershell Conda.psm1 脚本中导出额外的函数(修复 anaconda powershell 提示符)(#8570)

贡献者#

  • @msarahan

4.6.13 (2019-04-16)#

Bug 修复#

  • 在 win-32 上禁用 test_legacy_repodata(缺少依赖项)(#8540)

  • 修复 Windows 上 bash、powershell 和 batch 的激活问题。改进测试。 (#8550, #8564)

  • 在运行 “conda env update” 时,将 -U 标志传递给 conda env 中的 pip 依赖项 (#8542)

  • conda.common.os 重命名为 conda.common._os 以避免遮蔽 os 内置函数 (#8548)

  • 当 pip 子进程在 conda env 中失败时引发异常 (#8562)

  • 修复在带有 python 2.7 的 conda env specs 中安装递归 requirements.txt 文件的问题 (#8562)

  • 当 condarc 中的 “changeps1” 设置为 False 时,不要修改 powershell 提示符 (#8465)

贡献者#

  • @dennispg

  • @jjhelmus

  • @jpgill86

  • @mingwandroid

  • @msarahan

  • @noahp

4.6.12 (2019-04-10)#

Bug 修复#

  • 修复 compat 导入警告 (#8507)

  • 调整 collections 导入以避免弃用警告 (#8499)

  • 修复 CLI 测试中的错误 (#8468)

  • 不允许在环境名称中使用数字符号 (#8521)

  • 解决某些存储库上 noarch 的问题 (#8523)

  • 修复路径中包含空格时在 Windows 上的激活问题 (#8503)

  • 修复 powershell 的 conda init profile 修改 (#8531)

  • 将 conda.bat 指向 condabin (#8517)

  • 修复激活中的各种错误 (#8520, #8528)

文档改进#

  • 修复 README 中的链接 (#8482)

  • 4.6.10 和 4.6.11 的变更日志 (#8502)

贡献者#

@Bezier89 @duncanmmacleod @ivigamberdiev @javabrett @jjhelmus @katietz @mingwandroid @msarahan @nehaljwani @rrigdon

4.6.11 (2019-04-04)#

Bug 修复#

  • 从 basic_posix 中 PATH 的前面移除 sys.prefix (#8491)

  • 添加导入以修复 conda.core.index.get_index (#8495)

文档改进#

  • 4.6.10 的变更日志

贡献者#

  • @jjhelmus

  • @mingwandroid

  • @msarahan

4.6.10 (2019-04-01)#

Bug 修复#

  • 修复 initialize.py 中仅限 python-3 的 FileNotFoundError 用法 (#8470)

  • 修复 _Null 数据类型的更多 JSON 编码错误 (#8471)

  • 修复 conda.sh 中不符合 posix 标准的 == (#8475, #8476)

  • 改进 environment.yml 文件中 pip 依赖项的检测,以避免警告消息 (#8478)

  • 修复 condabin\conda.bat 使用 dp0 导致 PATH 添加不正确的问题 (#8480)

  • init_fish_user: 不要假设配置文件存在 (#8481)

  • 修复以 . 结尾的 chcp 输出 (#8484)

文档改进#

  • 4.6.8, 4.6.9 的变更日志

贡献者#

  • @duncanmmacleod

  • @nehaljwani

  • @ilango100

  • @jjhelmus

  • @mingwandroid

  • @msarahan

  • @rrigdon

4.6.9 (2019-03-29)#

改进#

  • 改进文档提交的 CI (#8387, #8401, #8417)

  • 实现 conda init --reverse 以撤消 rc 文件和注册表更改 (#8400)

  • 改进 unicode 系统的处理 (#8342, #8435)

  • 强制 “COMSPEC” 环境变量始终指向 windows 上的 cmd.exe。这是一个并非总是成立的隐式假设。 (#8457, #8461)

Bug 修复#

  • 在 Windows 上添加中央 C:/ProgramData/conda 作为搜索路径 (#8272)

  • 移除 ruamel_yaml 的直接使用(优先使用内部抽象,yaml_load)(#8392)

  • 修复/改进 fish shell 的 conda init 支持 (#8437)

  • 改进在存在不一致环境(例如 pip 作为 python 的 conda 依赖项,但也通过 pip 本身安装)时的 solver 行为 (#8444)

  • 处理 environments.txt 的只读文件系统 (#8451, #8453)

  • 修复 conda env 命令,该命令涉及安装到错误位置的 pip 安装的依赖项 (#8435)

文档改进#

  • 更新速查表 (#8402)

  • 更新颜色主题 (#8403)

贡献者#

  • @blackgear

  • @dhirschfeld

  • @jakirkham

  • @jjhelmus

  • @katietz

  • @mingwandroid

  • @msarahan

  • @nehaljwani

  • @rrigdon

  • @soapy1

  • @spamlrot-tic

4.6.8 (2019-03-06)#

Bug 修复#

  • 检测解析器何时无法解析参数 (#8328)

  • 将 post-link 脚本运行与包链接分离。首先链接所有包,然后在所有包都存在后运行任何 post-link 脚本。理想情况下,在循环存在时更宽容。 (#8350)

  • 引用 conda env 生成的临时 requirements 文件的路径。修复空格问题。 (#8352)

  • 改进围绕检查 tarballs 提取中文件夹存在的某些异常处理 (#8360)

  • 修复 channel 名称为 None 时包的报告 (#8379)

  • 修复创建后帮助消息从 “source activate” 到 “conda activate” 的问题 (#8370)

  • 为 tarfiles 中的目录遍历漏洞添加安全检查。可以使用 safety_checks 配置参数禁用这些检查。 (#8374)

文档改进#

  • 记录 MKL DLL 地狱和新的 Python 环境变量以控制 DLL 搜索行为 (#8315)

  • 为报告速度问题添加 github 模板 (#8344)

  • 在文档中更好地使用 sphinx 提示(notes、warnings)以获得更好的强调 (#8348)

  • 改进仅当涉及文档更改时跳过 CI 构建 (#8336)

贡献者#

  • @albertmichaelj

  • @jjhelmus

  • @matta9001

  • @msarahan

  • @rrigdon

  • @soapy1

  • @steffenvan

4.6.7 (2019-02-21)#

Bug 修复#

  • 在事务回滚期间跳过扫描文件夹内容。直接忽略文件夹。有点乱,但速度快很多。 (#8266)

  • 修复重命名回收站文件中的一些逻辑以修复权限错误 (#8300)

  • 更简洁和统一地将 pip 子进程调用包装在 conda-env 中 (#8307)

  • 恢复在 windows 上的 cli 主文件中 conda 前置到 PATH 的操作 (#8307)

  • 简化 conda run 代码以使用激活子进程包装器。修复一些 conda 测试以使用 conda run。 (#8307)

文档改进#

  • 修复了管理 envs 部分中重复的 “to” (#8298)

  • 充实了关于激活的文档 (#8314)

  • 修正了开发文档中添加远程仓库的 git 语法 (#8316)

  • 取消固定文档 requirements 中的 sphinx 版本 (#8317)

贡献者#

  • @jjhelmus

  • @MarckK

  • @msarahan

  • @rrigdon

  • @samgd

4.6.6 (2019-02-18)#

Bug 修复#

  • 修复了为 conda CLI 功能前置到 PATH 的不正确语法 (#8295)

  • 修复了 rename_tmp.bat 对文件夹进行操作,导致交互式对话框挂起的问题。仅对文件进行操作。 (#8295)

贡献者#

  • @mingwandroid

  • @msarahan

4.6.5 (2019-02-15)#

Bug 修复#

  • 使 resolve.py 中的 super 与 python 2 兼容 (#8280)

  • 更好地支持 Windows 上的激活脚本中的 unicode 路径 (#)

  • 设置 conda.bat 的 PATH 以包含 Conda 的根前缀,以便在根 env 未激活时使用 conda 可以找到库 (#8287, #8292)

  • 清理关于 rsync 和回收站文件的警告/错误 (#8290)

贡献者#

  • @jjhelmus

  • @mingwandroid

  • @msarahan

  • @rrigdon

4.6.4 (2019-02-13)#

改进#

  • 允许配置检测记录的位置 (#7849)

  • 在 conda-env pip 命令前加上 env 激活以修复库加载问题 (#8263)

Bug 修复#

  • 解决 #8176 SAT 求解器选择错误处理问题 (#8248)

  • 记录 pip_interop_enabled 配置参数 (#8250)

  • 确保前缀临时文件位于前缀内 (#8253)

  • 确保 script_caller 在使用前已绑定 (#8254)

  • 修复过度删除失败的后链接脚本清理后的文件夹 (#8259)

  • 修复 #8264:允许非序列参数的值使用 ‘int’ 数据类型 (#8268)

弃用/重大更改#

  • 删除实验性的 featureless_minimization_disabled 功能标志 (#8249)

贡献者#

  • @davemasino

  • @geremih

  • @jjhelmus

  • @kalefranz

  • @msarahan

  • @minrk

  • @nehaljwani

  • @prusse-martin

  • @rrigdon

  • @soapy1

4.6.3 (2019-02-07)#

改进#

  • 为 powershell 的 conda 用法实现 -stack 开关 (#8217)

  • 为 conda shell 支持启用系统范围的初始化 (#8219)

  • 在运行后链接脚本之前激活环境 (#8229)

  • 检测更多求解调用以优先考虑未来的优化工作 (#8231)

  • 在 envs 中搜索时打印更多 env 信息 (#8240)

Bug 修复#

  • 解决 #8178,修复 conda pip 互操作断言错误与 egg 文件夹 (#8184)

  • 解决 #8157,修复错误和配置输出中的令牌泄漏 (#8163)

  • 解决 #8185,修复使用嵌入式/捆绑 python 元数据的 conda 包过滤 (#8198)

  • 解决 #8199,修复版本规范中 .* 的错误,这些错误应特定于 ~= 运算符 (#8208)

  • 修复 .bat 脚本以处理 Windows 上带空格的路径 (#8215)

  • 修复 powershell 脚本以处理 Windows 上带空格的路径 (#8222)

  • 更优雅地处理丢失的重命名脚本(尤其是在更新/安装 conda 本身时)(#8212)

贡献者#

  • @dhirschfeld

  • @jjhelmus

  • @kalefranz

  • @msarahan

  • @murrayreadccdc

  • @nehaljwani

  • @rrigdon

  • @soapy1

4.6.2 (2019-01-29)#

改进#

  • 文档重组/改进 (#8139, #8143)

  • 重写 rm_rf 以使用本机系统实用程序并重命名回收站文件 (#8134)

Bug 修复#

  • 修复仅当存在 noarch subdir 时出现 UnavailableInvalidChannel 错误 (#8154)

  • 记录但禁用 allow_conda_downgrades 标志,等待重新检查警告,该警告阻止了跨小版本升级-降级循环后的 conda 操作。 (#8160)

  • 修复 conda env export 缺少未使用 pip 互操作启用设置的 pip 条目 (#8165)

贡献者#

  • @jjhelmus

  • @msarahan

  • @nehaljwani

  • @rrigdon

4.5.13 (2019-01-29)#

改进#

  • 记录 allow_conda_downgrades 配置参数 (#8034)

  • 删除 conda 升级消息 (#8161)

贡献者#

  • @msarahan

  • @nehaljwani

4.6.1 (2019-01-21)#

改进#

  • get_reduced_index 中的优化 (#8117, #8121, #8122)

Bug 修复#

  • 修复 rm 的错误 onerror 调用 (#8053)

  • 修复 activate.bat 以使用更直接的 conda.bat 调用(不需要 conda init;修复非交互式脚本)(#8113)

贡献者#

  • @jjhelmus

  • @msarahan

  • @pv

4.6.0 (2019-01-15)#

新功能亮点#

  • 解决 #7053 conda 与 pip 的互操作性预览支持;默认禁用 (#7067, #7370, #7710, #8050)

  • conda initialize (#6518, #7388, #7629)

  • 解决 #7194 向 ‘conda activate’ 添加 ‘–stack’ 标志;删除 max_shlvl 配置 (#7195, #7226, #7233)

  • 解决 #7087 将非 conda 安装的 python 包添加到 PrefixData 中 (#7067, #7370)

  • 解决 #2682 添加 ‘conda run’ 预览支持 (#7320, #7625)

  • 解决 #626 PowerShell 的 conda 包装器 (#7794, #7829)

弃用/重大更改#

  • 解决 #6915 删除 ‘conda env attach’ 和 ‘conda env upload’ (#6916)

  • 解决 #7061 从 defaults 中删除 pkgs/pro (#7162)

  • 解决 #7078 为 ‘conda.cli.activate’、‘conda.compat’ 和 ‘conda.install’ 添加弃用警告 (#7079)

  • 解决 #7194 向 ‘conda activate’ 添加 ‘–stack’ 标志;删除 max_shlvl 配置 (#7195)

  • 解决 #6979, #7086 从项目的大部分中删除 Dist (#7216, #7252)

  • 修复 #7362 从 conda info 和相关代码路径中删除 --license (#7386)

  • 解决 #7309 弃用 ‘conda info package_name’ (#7310)

  • 删除 ‘conda clean --source-cache’ 并推迟到 conda-build (#7731)

  • 解决 #7724 将 windows 包缓存和 envs 目录移回 .conda 目录 (#7725)

  • 不允许环境名称包含冒号 (#7801)

改进#

  • 导入速度提升 (#7122)

  • –help 清理 (#7120)

  • conda env 的 fish 自动补全 (#7101)

  • 删除对 ‘system’ channel 的引用 (#7163)

  • 将 http 错误正文添加到调试信息中 (#7160)

  • 警告创建带有空格的环境名称不受支持 (#7168)

  • 支持 environment.yml 文件中完整的 MatchSpec 语法 (#7178)

  • 解决 #4274 添加使用 ‘conda create’ 删除现有环境的选项 (#7133)

  • 添加通过 ‘env_prompt’ 配置参数自定义 conda 提示符的功能 (#7047)

  • 解决 #7063 将 license 和 license_family 添加到 ‘conda search’ 的 MatchSpec 中 (#7064)

  • 解决 #7189 进度条格式改进 (#7191)

  • 将错误的日志级别提高到错误 (#7229)

  • 添加到 conda.exports (#7217)

  • 解决 #6845 添加 -S / --satisfied-skip-solve 选项以便为已满足的规范提前退出 (#7291)

  • 添加 NoBaseEnvironmentError 和 DirectoryNotACondaEnvironmentError (#7378)

  • 用 ctypes win elevation (4.6.0a3) 替换 menuinst 子处理 (#7426)

  • 将最低 requests 版本提升到稳定、未捆绑的版本 (#7528)

  • 解决 #7591 来自命名空间 PR 的更新和改进,适用于 4.6 (#7599)

  • 解决 #7592 兼容性填充程序 (#7606)

  • 用户代理上下文重构 (#7630)

  • 使用 common.logic 中的基准测试改进求解器性能 (#7676)

  • 为 pip 互操作启用模糊不等版本约束 (#7711)

  • 为 --dry-run 添加 -d 短选项 (#7719)

  • 为 conda clean 添加 --force-pkgs-dirs 选项 (#7719)

  • 解决 #7709 确保 --update-deps 解锁以前用户请求中的规范 (#7719)

  • 将包时间戳信息添加到 ‘conda search --info’ 的输出中 (#7722)

  • 解决 #7336 ‘conda search’ 在显示 PackagesNotFound 之前尝试 “模糊匹配” (#7722)

  • 解决 #7656 通过 ‘channel_priority’ 配置选项或 --strict-channel-priority CLI 标志实现严格的通道优先级 (#7729)

  • 提高 PackageRecord 上缓存 hash 值的性能 (#7715)

  • 解决 #7764 将 ‘condacmd’ 目录的名称更改为 ‘condabin’;在所有平台上使用 (#7773)

  • 解决 #7782 实现 PEP-440 ‘~=’ 兼容发布运算符 (#7783)

  • 在不需要时禁用时间戳优先级排序 (#7894, #8012)

  • 批量编译 noarch 包的 pyc 文件 (#8015)

  • 默认禁用每个文件的 sha256 安全性检查;添加 extra_safety_checks condarc 选项以启用它们 (#8017)

  • 缩短 windows 上文件删除的重试次数,其中无法删除正在使用的文件 (#8024)

  • 扩展 custom_channelscustom_multichannelsdefault_channelsmigrated_custom_channelswhitelist_channels 中的 env vars (#7826)

  • 在缓存时将 repodata 编码为 utf-8,以修复 repodata 中的 unicode 字符 (#7873)

Bug 修复#

  • 修复 #7107 验证在包损坏时挂起 (#7131)

  • 修复 #7145 进度条使用 stderr 而不是 stdout (#7146)

  • 修复 conda.fish 中的错别字 (#7152)

  • 修复 #2154 conda remove 如果请求删除的内容不存在,则应报错 (#7135)

  • 修复 #7094 对于带有 explicit 和 clone 的 --dry-run 提前退出 (#7096)

  • 修复激活脚本排序顺序 (#7176)

  • 修复 #7109 使用 sudo 时 chown 不正确 (#7180)

  • 修复 #7210 将被抑制的 --mkdir 添加回 ‘conda create’ (修复 4.6.0a1) (#7211)

  • 修复 #5681 当 --file 不存在时 conda env create / update (#7385)

  • 解决 #7375 启用 conda config --set update_modifier (#7377)

  • 修复 #5885 改进 conda env 错误消息并添加额外的测试 (#7395)

  • msys2 路径转换 (#7389)

  • 修复 fish 中的自动补全 (#7575)

  • 修复 #3982 在 4.4 激活重构之后 (#7607)

  • 修复 #7242 配置加载错误消息 (#7243)

  • 修复 conda env 与 pip 18 的兼容性 (#7612)

  • 修复 #7184 删除冲突的规范以找到用户活动请求的解决方案 (#7719)

  • 修复 #7706 在首次激活时将 condacmd 目录添加到 cmd.exe 路径 (#7735)

  • 修复 #7761 4.6.0b0 中的规范处理错误 (#7780)

  • 修复 #7770 ‘conda list regex’ 仅将正则表达式应用于包名称 (#7784)

  • 修复 #8076 从索引加载元数据以解决不一致的 envs (#8083)

非用户可见的更改#

  • 解决 #6595 在 activate.py 中使用 OO 继承 (#7049)

  • 解决 #7220 pep8 项目重命名为 pycodestyle (#7221)

  • 代理测试例程 (#7308)

  • 添加 .mailmap 和 .cla-signers (#7361)

  • 添加版权标头 (#7367)

  • 将 common.platform 重命名为 common.os,并在 windows、linux 和 unix 实用程序之间拆分 (#7396)

  • 修复 symlink 不可用时 windows 测试失败的问题 (#7369)

  • 使用 conda-build 测试构建 conda (#7251)

  • 求解器测试元数据更新 (#7664)

  • 显式添加 Mapping、Sequence 到 common.compat (#7677)

  • 添加调试消息以传达求解器阶段 (#7803)

  • 添加未记录的 sat_solver 配置参数 (#7811)

预览版本#

  • 4.6.0a1,于 2018-04-20 在 d5bec21d1f64c3bc66c2999cfc690681e9c46177

  • 4.6.0a2,于 2018-05-01 在 c467517ca652371ebc4224f0d49315b7ec225108

  • 4.6.0b0,于 2018-09-07 在 21a24f02b2687d0895de04664a4ec23ccc75c33a

  • 4.6.0b1,于 2018-10-22 在 1471f043eed980d62f46944e223f0add6a9a790b

  • 4.6.0rc1,于 2018-12-31 在 64bde065f8343276f168d2034201115dff7c5753

贡献者#

  • @cgranade

  • @fabioz

  • @geremih

  • @goanpeca

  • @jesse-

  • @jjhelmus

  • @kalefranz

  • @makbigc

  • @mandeep

  • @mbargull

  • @msarahan

  • @nehaljwani

  • @ohadravid

  • @teake

4.5.12 (2018-12-10)#

改进#

  • 向后移植 ‘allow_conda_downgrade’ 配置参数,默认为 False (#7998)

  • 通过禁用每个文件的 sha256 检查来加速验证 (#8017)

  • setup.py 文件中指示 Python 3.7 支持 (#8018)

  • 通过减小缩减索引的大小来加速求解器 (#8016)

  • 通过在不需要时跳过时间戳最小化来加速求解器 (#8012)

  • 更有效地编译 pyc 文件,将加速 noarch 包的安装 (#8025)

  • 在可能的情况下避免等待 Windows 上文件的删除 (#8024)

Bug 修复#

  • 更新集成测试以删除 ‘features’ 键 (#7726)

  • 修复 conda.bat 返回代码 (#7944)

  • 确保通道名称不是 NoneType (#8021)

贡献者#

  • @debionne

  • @jjhelmus

  • @kalefranz

  • @msarahan

  • @nehaljwani

4.5.11 (2018-08-21)#

改进#

  • 解决 #7672 与 ruamel.yaml 0.15.54 的兼容性 (#7675)

贡献者#

  • @CJ-Wright

  • @mbargull

4.5.10 (2018-08-13)#

Bug 修复#

  • 修复 conda env 与 pip 18 的兼容性 (#7627)

  • 修复 py37 兼容性 4.5.x (#7641)

  • 修复 #7451 如果未知,则不打印名称、版本和大小 (#7648)

  • 在 PrefixData 中将 glob 替换为 fnmatch (#7645)

贡献者#

  • @jesse-

  • @nehaljwani

4.5.9 (2018-07-30)#

改进#

  • 解决 #7522 阻止 conda 安排降级 (#7598)

  • 允许在解析器中跳过功能最大化 (#7601)

Bug 修复#

  • 修复 #7559 localfs 适配器中的符号链接 stat (#7561)

  • 修复 #7486 在未设置 PATH 的情况下激活 (#7562)

  • 解决 #7522 阻止 conda 安排降级 (#7598)

贡献者#

  • @kalefranz

  • @loriab

4.5.8 (2018-07-10)#

Bug 修复#

  • 修复 #7524 requests 2.13.0 及更早版本的 should_bypass_proxies (#7525)

贡献者#

  • @kalefranz

4.5.7 (2018-07-09)#

改进#

  • 解决 #7423 为不支持的 repodata_version 添加升级错误 (#7415)

  • 为环境上的 conda 版本降级引发 CondaUpgradeError (#7517)

Bug 修复#

  • 修复 #7505 UnlinkLinkTransaction 的临时目录应位于目标前缀中 (#7516)

  • 修复 #7506 requests monkeypatch 回退以用于旧版本的 requests (#7515)

贡献者#

  • @kalefranz

  • @nehaljwani

4.5.6 (2018-07-06)#

Bug 修复#

  • 解决 #7473 py37 支持 (#7499)

  • 修复 #7494 History 规范解析边缘情况 (#7500)

  • 修复 requests 2.19 与 NO_PROXY env var 的不兼容性 (#7498)

  • 解决 #7372 禁用 http 错误上传和 CI 清理 (#7498, #7501)

贡献者#

  • @kalefranz

4.5.5 (2018-06-29)#

Bug 修复#

  • 修复 #7165 conda 版本检查应仅限于 conda 所在的 channel (#7289, #7303)

  • 修复 #7341 ValueError n 不能为负数 (#7360)

  • 修复 #6691 修复包含逗号连接的版本规范的历史文件解析 (#7418)

  • msys2 路径转换 (#7471)

贡献者#

  • @goanpeca

  • @kalefranz

  • @mingwandroid

  • @mbargull

4.5.4 (2018-05-14)#

改进#

  • 解决 #7189 进度条改进 (#7191 通过 #7274)

Bug 修复#

  • 修复双重 tarball 解压缩,改进进度更新 (#7275)

  • 修复 #7253 始终尊重 copy LinkType (#7269)

贡献者#

  • @jakirkham

  • @kalefranz

  • @mbargull

4.5.3 (2018-05-07)#

Bug 修复#

  • 修复 #7240 conda 的配置上下文未在 conda.exports 中初始化 (#7244)

4.5.2 (2018-04-27)#

Bug 修复#

  • 修复 #7107 验证在包损坏时挂起 (#7223)

  • 修复 #7094 对于带有 explicit 和 clone 的 --dry-run 提前退出 (#7224)

  • 修复激活/停用脚本排序顺序 (#7225)

4.5.1 (2018-04-13)#

改进#

  • 解决 #7075 将 anaconda.org 搜索消息添加到 PackagesNotFoundError (#7076)

  • 将 CondaError 详细信息添加到自动上传报告 (#7060)

Bug 修复#

  • 修复 #6703,#6981 在 fish shell 上运行 deactivate 时索引超出范围 (#6993)

  • 正确关闭 $_CONDA_EXE 变量 (#7004)

  • 修复带有注释的 condarc map 解析 (#7021)

  • 修复 #6919 csh 提示符 (#7041)

  • 添加 _file_created 属性 (#7054)

  • 修复 custom_multichannels 中非 ascii 字符的处理 (#7050)

  • 修复 #6877 处理 CSH 中的非零返回 (#7042)

  • 修复 #7040 将 tqdm 更新到 4.22.0 版本 (#7157)

4.5.0 (2018-03-20)#

新功能亮点#

  • 已向 ‘conda search’ 添加了一个新标志 ‘–envs’。在此模式下,‘conda search’ 将在系统上现有的 conda 环境中查找包查询。如果在 unix 系统上以 UID 0(即 root)或在 Windows 上以管理员用户身份运行,则将搜索系统上所有用户的所有已知 conda 环境。例如,‘conda search --envs openssl’ 将显示所有 conda 安装的 openssl 包的 openssl 版本和环境位置。

弃用/重大更改#

  • 解决 #6886 将 defaults 从 repo.continuum.io 迁移到 repo.anaconda.com (#6887)

  • 解决 #6192 弃用 ‘conda help’,支持 --help CLI 标志 (#6918)

  • 解决 #6894 将 http 错误添加到自动上传的错误报告中 (#6895)

改进#

  • 解决 #6791 conda search --envs (#6794)

  • 在 fish shell 中保留退出状态 (#6760)

  • 解决 #6810 将 CONDA_EXE 环境变量添加到 activate (#6923)

  • 解决 #6695 过时的 conda 警告尊重 --quiet 标志 (#6935)

  • 添加激活默认环境的说明 (#6944)

API#

  • 解决 #5610 将 PrefixData、SubdirData 和 PackageCacheData 添加到 conda/api.py (#6922)

Bug 修复#

  • 通道 matchspec 修复 (#6893)

  • 修复 #6930 向 S3Adapter 添加缺少的 return 语句 (#6931)

  • 修复 #5802, #6736 强制执行 disallowed_packages 配置参数 (#6932)

  • 修复 #6860 在 resolve.py 中因空 track_features 导致的无限递归 (#6928)

  • 为 PY2 stdout/stderr 设置编码 (#6951)

  • 修复 #6821 来自 MatchSpec 合并覆盖的非确定性行为 (#6956)

  • 修复 #6904 前缀图数据结构中的逻辑错误 (#6929)

非用户可见的更改#

  • 修复多个 lgtm.com 标志 (#6757, #6883)

  • conda 4.5 的清理和重构 (#6889)

  • 统一 conda/models/records.py 中记录类型的位置 (#6924)

  • 解决 #6952 记忆化包缓存加载中的 url 搜索 (#6957)

4.4.11 (2018-02-23)#

改进#

  • 解决 #6582 swallow_broken_pipe 上下文管理器和 Spinner 重构 (#6616)

  • 解决 #6882 记录 max_shlvl (#6892)

  • 解决 #6733 使空 env vars 对于序列参数是序列安全的 (#6741)

  • 解决 #6900 不记录 environments.txt 中的 conda skeleton 环境 (#6908)

Bug 修复#

  • 修复 ensure_pad() 中的潜在错误;添加更多测试 (#6817)

  • 修复 #6840 处理 conda.sh 中的错误返回值 (#6850)

  • misc.py 导入使用 conda.gateways.disk (#6870)

  • 修复 #6672 在 conda-env 操作期间不更新 conda (#6773)

  • 修复 #6811 不尝试复制/删除回退以解决重命名失败的问题 (#6867)

  • 修复 #6667 别名 posix 命令 (#6669)

  • 修复 #6816 fish 环境自动补全 (#6885)

  • 修复 #6880 build_number 比较在 match_spec 中不起作用 (#6881)

  • 修复 #6910 排序键优先考虑构建字符串而不是构建编号 (#6911)

  • 修复 #6914, #6691 conda 可能无法更新软件包,即使存在更新的版本 (#6921)

  • 修复 #6899 处理激活命令中的 Unicode 输出 (#6909)

4.4.10 (2018-02-09)#

Bug 修复#

  • 修复 #6837 要求至少 futures 3.0.0 (#6855)

  • 修复 #6852 确保临时路径可写 (#6856)

  • 修复 #6833 改进功能不匹配指标(通过 4.3.34 #6853)

4.4.9 (2018-02-06)#

改进#

  • 解决 #6632 删除 env 时显示软件包删除计划 (#6801)

Bug 修复#

  • 修复 #6531 不要为 conda-build 解决方法删除凭据 (#6798)

  • 修复外部命令执行问题 (#6789)

  • 修复 #5792 conda env export 错误在路径中很常见 (#6795)

  • 修复 #6390 添加 CorruptedEnvironmentError (#6778)

  • 修复 #5884 允许 --insecure CLI 标志,而不与 ssl_verify 的含义相矛盾 (#6782)

  • 修复 MatchSpec.match() 接受 dict (#6808)

  • 修复路径中带有空格的用户的 Anaconda Prompt 损坏的问题 (#6825)

  • JSONDecodeError 在 Python 3.5 中添加 (#6848)

  • 修复 #6796 在 reactivate 时更新 PATH/prompt (#6828)

  • 修复 #6401 在 windows 上使用 expanduser 时的非 ascii 字符 (#6847)

  • 修复 #6824 在调用任何安装程序之前导入安装程序 (#6849)

4.4.8 (2018-01-25)#

改进#

  • 允许 default_python 的错误值以避免固定 python 版本 (#6682)

  • 解决 #6700 为设备上没有剩余空间添加消息 (#6709)

  • 使变量 ‘sourced’ 对于 posix shells 是本地的 (#6726)

  • 向 conda list 结果添加列标题 (#5726)

Bug 修复#

  • 修复 #6713 允许 conda.bat 的前缀路径中包含括号 (#6722)

  • 修复 #6684 --force 消息 (#6723)

  • 修复 #6693 使用 ‘–update-deps’ 时出现 KeyError (#6694)

  • 修复 aggressive_update_packages 可用性 (#6727)

  • 修复 #6745 不截断 conda 安装程序中的通道优先级映射 (#6746)

  • 为 lsb_release 的系统 Python 用法添加解决方法 (#6769)

  • 修复 #6624 无法启动新线程 (#6653)

  • 修复 #6628 conda 4.4 中的 ‘conda install --rev’ (#6724)

  • 修复 #6707 解压缩 tarball 时出现 FileNotFoundError (#6708)

  • 修复 #6704 conda.bat 中意外的标记 (#6710)

  • 修复 #6208 如果环境中没有 pip 则返回 (#6784)

  • 修复 #6457 env var 清理 (#6790)

  • 修复 #6645 转义 argparse 帮助的路径 (#6779)

  • 修复 #6739 处理 py2 激活的环境变量中的 unicode (#6777)

  • 修复 #6618 ‘conda config --set’ 出现 RepresenterError (#6619)

  • 修复 #6699 抑制内存错误上传报告 (#6776)

  • 修复 #6770 cmd.exe 的 CRLF (#6775)

  • 修复 #6514 为不区分大小写的文件系统错误添加消息 (#6764)

  • 修复 #6537 未设置 url 的 AttributeError 值 (#6754)

  • 修复 #6748 仅当由于 EACCES 无法注册环境时才发出警告 (#6752)

4.4.7 (2018-01-08)#

改进#

  • 解决 #6650 为 python 2 中的 unicode 错误添加升级消息 (#6651)

Bug 修复#

  • 修复 #6643 ‘==’ 和 ‘exact_match_’ 之间的差异 (#6647)

  • 修复 #6620 KeyError(u’CONDA_PREFIX’,) (#6652)

  • 修复 #6661 从 environments.txt 中删除 env (#6662)

  • 修复 #6629 ‘conda update --name’ AssertionError (#6656)

  • 修复 #6630 repodata AssertionError (#6657)

  • 修复 #6626 添加 setuptools 作为受约束的依赖项 (#6654)

  • 修复 #6659 conda list explicit 应按依赖项排序 (#6671)

  • 修复 #6665 channel 的 KeyError ‘’ (#6668, #6673)

  • 修复 #6627 ‘conda activate’ 出现 AttributeError (#6655)

4.4.6 (2017-12-31)#

Bug 修复#

  • 修复 #6612 不假设 Windows 上有 Anaconda Python,也不使用 Library\bin hack (#6615)

  • 配方测试改进和相关的 bug 修复 (#6614)

4.4.5 (2017-12-29)#

Bug 修复#

  • 修复 #6577, #6580 PS1 中的单引号 (#6585)

  • 修复 #6584 os.getcwd() FileNotFound (#6589)

  • 修复 #6592 deactivate 命令顺序 (#6602)

  • 修复 #6579 python 未被识别为命令 (#6588)

  • 修复 #6572 缓存的 repodata PermissionsError (#6573)

  • 将 ‘root’ 的实例更改为 ‘base’ (#6598)

  • 修复 #6607 对 conda 命令扩展使用 subprocess 而不是 execv (#6609)

  • 修复 #6581 git-bash 激活 (#6587)

  • 修复 #6599 基本前缀路径中的空格 (#6608)

4.4.4 (2017-12-24)#

改进#

  • 将 SUDO_ 环境变量添加到信息报告中 (#6563)

  • 向 #6546 异常添加附加信息 (#6551)

Bug 修复#

  • 修复 #6548 ‘conda update’ 安装了前缀中没有的包 #6550

  • 修复 #6546 在创建空 env 后更新 (#6568)

  • 修复 #6557 conda list FileNotFoundError (#6558)

  • 修复 #6554 包缓存 FileNotFoundError (#6555)

  • 修复 #6529 yaml 解析错误 (#6560)

  • 修复 #6562 repodata_record.json 权限错误堆栈跟踪 (#6564)

  • 修复 #6520 --use-local 标志 (#6526)

4.4.3 (2017-12-22)#

改进#

  • 调整错误报告消息 (#6534)

Bug 修复#

  • 修复 #6530 包缓存 JsonDecodeError / ValueError (#6533)

  • 修复 #6538 BrokenPipeError (#6540)

  • 修复 #6532 删除 anaconda 元包 hack (#6539)

  • 修复 #6536 ‘conda env export’ 用于旧版本的 pip (#6535)

  • 修复 #6541 py2 和 environments.txt 中的 unicode (#6542)

非用户可见的更改#

  • #6512 的回归测试 (#6515)

4.4.2 (2017-12-22)#

弃用/重大更改#

  • 解决 #6523 不使用 --update-all 进行修剪 (#6524)

Bug 修复#

  • 修复 #6508 environments.txt 权限错误堆栈跟踪 (#6511)

  • 修复 #6522 错误消息格式不正确 (#6525)

  • 修复 #6516 从 get_index 到 install_actions 保留通道 (#6517)

4.4.1 (2017-12-21)#

缺陷修复#

  • 修复 #6512 reactivate 命令不接受参数 (#6513)

4.4.0 (2017-12-20)#

新功能亮点#

  • conda activate:环境激活的逻辑和机制已被重新设计。在 conda 4.4 中,conda activateconda deactivate 现在是激活和停用环境的首选命令。您会发现它们比以前 conda 版本中的 source activatesource deactivate 命令快得多。conda activate 命令还具有以下优点:(1) 跨所有操作系统、shell 和平台通用,以及 (2) 不会与来自其他软件包(如 python virtualenv 的 activate 脚本)的脚本发生路径冲突。

  • 约束性、可选依赖项:Conda 现在允许软件包约束与其一起安装的其他软件包的版本,即使这些受约束的软件包本身不是该软件包的硬性依赖项。换句话说,它允许软件包指定,如果另一个软件包最终被安装到环境中,它必须至少符合某个版本规范。实际上,约束性依赖项是一种“反向”依赖项。它为父软件包提供了一种工具,可以从环境中排除其他可能想要依赖它的软件包。

    从 conda-build 3.0 开始支持约束性可选依赖项(通过 [conda/conda-build#2001[(conda/conda-build#2001))。run_constrained 新关键字,它接受类似于 run 关键字的软件包规范列表,在 meta.yamlrequirements 部分下被识别。为了向后兼容旧于 4.4 的 conda 版本,可以将需求列在 runrun_constrained 部分中。在这种情况下,旧版本的 conda 会将软件包视为硬性依赖项,而 conda 4.4 将理解该软件包是可选的。

    可选的、约束性依赖项最终会出现在 repodata.json 中,位于与软件包的硬性依赖项的 depends 关键字平行的 constrains 关键字下。

  • 增强的软件包查询语言:Conda 具有内置的查询语言,用于搜索和匹配软件包,我们通常将其称为 MatchSpec。MatchSpec 是用户在命令行上输入的内容,当他们为 createinstallupdateremove 操作指定软件包时。在此版本中,MatchSpec(而不是正则表达式)成为 conda search 的默认输入。我们也大幅增强了我们的 MatchSpec 查询语言。

    例如,

    conda install conda-forge::python
    

    现在是一个有效的命令,它指定无论活动频道优先级列表如何,python 软件包本身都应来自 conda-forge 频道。与以前一样,python=3.5python==3.5 之间的区别在于,前者包含“模糊”版本,而后者包含精确版本。模糊规范将匹配版本 >=3.5<3.6 的所有 python 软件包。精确规范将仅匹配版本为 3.53.5.03.5.0.0 等的 python 软件包。因此,MatchSpec 的规范字符串形式为

    (channel::)name(version(build_string))
    

    对于有经验的 conda 用户来说,这应该会感到很自然。然而,规范通常比这种简单形式所能支持的更复杂,对于这些情况,我们扩展了规范以包含可选的方括号 [] 组件,其中包含逗号分隔的键值对,以允许匹配软件包元数据中包含的大多数任何字段。例如,

    conda search 'conda-forge/linux-64::*[md5=e42a03f799131d5af4196ce31a1084a7]' --info
    

    这将产生单个软件包的信息

    cytoolz 0.8.2 py35_0
    --------------------
    file name   : cytoolz-0.8.2-py35_0.tar.bz2
    name        : cytoolz
    version     : 0.8.2
    build string: py35_0
    build number: 0
    size        : 1.1 MB
    arch        : x86_64
    platform    : Platform.linux
    license     : BSD 3-Clause
    subdir      : linux-64
    url         : https://conda.anaconda.org/conda-forge/linux-64/cytoolz-0.8.2-py35_0.tar.bz2
    md5         : e42a03f799131d5af4196ce31a1084a7
    dependencies:
      - python 3.5*
      - toolz >=0.8.0
    

    方括号表示法也可以用于我们在软件包名称之外匹配的任何字段,并将覆盖在“简单形式”位置给出的信息。举一个人为的例子,python==3.5[version='>=2.7,<2.8'] 将匹配 2.7.* 版本,而不是 3.5

  • 环境跟踪用户请求的状态:基于我们增强的 MatchSpec 查询语言,conda 环境现在还跟踪和区分 (a) 由于显式用户请求添加到环境中的软件包,以及 (b) 为了满足依赖项而引入环境中的软件包。例如,执行

    conda install conda-forge::scikit-learn
    

    将限制对环境中 scikit-learn 软件包的所有未来更改都来自 conda-forge 频道,直到再次更改规范。后续命令 conda install scikit-learn=0.18 将从软件包中删除 conda-forge 频道限制。在这种情况下,scikit-learn 是唯一的用户定义的规范,因此求解器从所有配置的频道和所有可用版本中选择依赖项。

  • 错误发布给核心维护者:在以前版本的 conda 中,意外错误会导致请求用户考虑将错误作为 conda github 问题跟踪器上的新问题发布。在 conda 4.4 中,我们实现了一个系统,用户可以选择通过 HTTP POST 请求将相同的错误报告直接发送给核心维护者。

    当遇到意外错误时,系统会提示用户显示错误报告,后跟 [y/N] 输入。用户可以选择发送报告,“否”是默认响应。用户还可以永久选择加入或退出,从而完全跳过提示,使用布尔值 report_errors 配置参数。

  • 各种 UI 改进:为了推动 conda 4.3 中事务的一些重大飞跃,我们接受了进度条和其他用户界面功能的一些倒退。所有这些进度指示器以及更多内容都已恢复并得到进一步改进。

  • 激进更新:Conda 现在支持 aggressive_update_packages 配置参数,该参数保存 MatchSpec 字符串序列,此外还有 pinned_packages 配置参数。目前,默认值包含软件包 ca-certificatescertifiopenssl。当使用 conda config 命令操作配置时,使用 --system--env 标志将特别有帮助。例如,

    conda config --add aggressive_update_packages defaults::pyopenssl --system
    

    将确保在系统范围内,所有环境的求解都强制使用 defaults 频道中 pyopenssl 的最新版本。

    conda config --add pinned_packages python=2.7 --env
    

    会将当前活动环境的所有求解锁定为匹配 2.7.* 的 python 版本。

  • 其他配置改进:除了 conda config --describe,它显示所有可用配置参数的详细描述和默认值之外,我们还有一个新的 conda config --write-default 命令。这个新命令只是将 conda config --describe 的内容写入 condarc 文件,这是一个很好的起始模板。在没有其他参数的情况下,该命令将写入用户主目录中的 .condarc 文件。该命令也适用于 --system--env--file 标志,以将内容写入备用位置。

    Conda 通过配置公开了巨大的灵活性。有关更多信息,面向高级用户的 Conda 配置引擎 博客文章是一个很好的资源。

弃用/重大更改#

  • conda 的 ‘root’ 环境现在通常被称为 ‘base’ 环境

  • 当每个路径 sha256 校验和和文件大小的可用信息与记录的信息不匹配时,Conda 4.4 现在会发出警告。该警告计划在 conda 4.5 中变为错误。行为可通过 safety_checks 配置参数配置。

  • 删除对 with_features_depends 的支持 (#5191)

  • 解决 #5468 从 CLI API 中删除 --alt-hint (#5469)

  • 解决 #5834 将 ‘allow_softlinks’ 的默认值从 True 更改为 False (#5835)

  • 解决 #5842 为 ‘conda env upload’ 和 ‘conda env attach’ 添加弃用警告 (#5843)

API#

  • 将来自 conda.core.solver 的 Solver 与三个方法添加到 conda.api (4.4.0rc1) (#5838)

改进#

  • 约束性、可选依赖项 (#4982)

  • conda shell 函数 (#5044, #5141, #5162, #5169, #5182, #5210, #5482)

  • 解决 #5160 conda xontrib 插件 (#5157)

  • 解决 #1543 为 --no-deps 和 --only-deps 添加支持和测试 (#5265)

  • 解决 #988 允许频道名称成为软件包名称规范的一部分 (#5365, #5791)

  • 解决 #5530 添加用户选择将意外错误发布给核心维护者的能力 (#5531, #5571, #5585)

  • Solver、UI、History 和其他 (#5546, #5583, #5740)

  • 改进 ‘conda search’ 以利用新的 MatchSpec 查询语言 (#5597)

  • 从 conda clean 命令中过滤掉不可写的软件包缓存 (#4620)

  • envs_manager、请求的规范历史记录、声明式求解和私有环境测试 (#4676, #5114, #5094, #5145, #5492)

  • 使 python 入口点格式与 pip 入口点匹配 (#5010)

  • 解决 #5113 清理 CLI 导入以缩短进程启动时间 (#4799)

  • 解决 #5121 为 MatchSpec 添加 features/track_features 支持 (#5054)

  • 解决 #4671 将验证退避计数保存在事务上下文中 (#5122)

  • 解决 #5078 在 tarball 解压缩后记录软件包元数据 (#5148)

  • 解决 #3580 支持堆叠环境 (#5159)

  • 解决 #3763, #4378 允许在环境文件中使用 pip requirements.txt 语法 (#3969)

  • 解决 #5147 将 ‘config files’ 添加到 conda info (#5269)

  • 使用 --format=json 解析 pip 软件包列表 (#5205)

  • 解决 #1427 删除以 ‘.’ 开头的环境名称约束 (#5284)

  • 当 tarball 消失时,从解压缩的 tarball 链接软件包 (#5289)

  • 解决 #2511 接受来自 stdin 的配置信息 (#5309)

  • 解决 #4302 添加使用 conda config 设置 map 参数的能力 (#5310)

  • 解决 #5256 为所有原始参数启用 conda config --get (#5312)

  • 解决 #1992 为 --use-index-cache 添加短标志 -C (#5314)

  • 解决 #2173 为 conda clean 添加 --quiet 选项 (#5313)

  • 解决 #5358 conda 应该 exec 到子命令,而不是 subprocess (#5359)

  • 解决 #5411 添加 ‘conda config --write-default’ (#5412)

  • 解决 #5081 使 pinned packages 成为可选依赖项 (#5414)

  • 解决 #5430 消除当前的弃用警告 (#5422)

  • 解决 #5470 使 python_api 中的 stdout/stderr 捕获可自定义 (#5471)

  • 日志记录简化/改进 (#5547, #5578)

  • 更新许可证信息 (#5568)

  • 默认情况下启用线程池用于 repodata 收集 (#5546, #5587)

  • conda info 现在引发 PackagesNotFoundError (#5655)

  • 索引构建优化 (#5776)

  • 修复 #5811 将 conda 4.4 的 safety_checks 默认值更改为 ‘warn’ (4.4.0rc1) (#5824)

  • 将约束性依赖项添加到 conda 自己的配方 (4.4.0rc1) (#5823)

  • 清理 parser 导入 (4.4.0rc2) (#5844)

  • 解决 #5983 为 create、install 和 update 添加 --download-only 标志 (4.4.0rc2) (#5988)

  • 将 ca-certificates 和 certifi 添加到 aggressive_update_packages 默认值 (4.4.0rc2) (#5994)

  • 使用 environments.txt 列出所有已知环境 (4.4.0rc2) (#6313)

  • 解决 #5417 确保取消链接顺序正确排序 (4.4.0) (#6364)

  • 解决 #5370 在 --offline 模式下索引仅为 prefix 和 cache (4.4.0) (#6371)

  • 减少文件复制期间的冗余系统调用 (4.4.0rc3) (#6421)

  • 启用 aggressive_update_packages (4.4.0rc3) (#6392)

  • 如果无法检测到,则默认 conda.sh 为 dash (4.4.0rc3) (#6414)

  • 在与 pip 比较时规范化软件包名称 (4.4.0rc3) (#6438)

  • 添加目标 prefix 覆盖配置参数 (4.4.0rc3) (#6413)

  • 解决 #6194 在 conda 过时时发出警告 (4.4.0rc3) (#6370)

  • 向显示的错误报告添加信息 (4.4.0rc3) (#6437)

  • csh 包装器 (4.4.0) (#6463)

  • 解决 #5158 --override-channels (4.4.0) (#6467)

  • conda 4.4 的 fish 更新 (4.4.0) (#6475, #6502)

  • 跳过不必要的 environments.txt 重写 (4.4.0) (#6495)

缺陷修复#

  • 修复一些 conda-build 兼容性问题 (#5089)

  • 解决 #5123 导出 toposort (#5124)

  • 修复 #5132 信号处理程序只能在主线程中使用 (#5133)

  • 修复孤立的 --clobber parser arg (#5188)

  • 修复 #3814 不要删除不是 conda 环境的目录 (#5204)

  • 修复 #4468 _license 堆栈跟踪 (#5206)

  • 修复 #4987 conda update --all 不再显示完整的软件包列表 (#5228)

  • 修复 #3489 如果环境不存在,则不要在 remove --all 时报错 (#5231)

  • 修复 #1509 bash 不需要 unix 上 pre/post link/unlink 脚本的完整路径 (#5252)

  • 修复 #462 添加回归测试 (#5286)

  • 修复 #5288 确认提示不接受 no (#5291)

  • 修复 #1713 ‘conda package -w’ 在 Windows 上区分大小写 (#5308)

  • 修复 #5371 如果没有可用的 requests,则尝试回退到 pip 的 vendored requests (#5372)

  • 修复 #5356 跳过 root logger 配置 (#5380)

  • 修复 #5466 带有令牌的非别名频道的 scrambled URL (#5467)

  • 修复 #5444 找不到 environment.yml 文件 (#5475)

  • 修复 #3200 在 bash 代码和测试中使用正确的 unbound 检查 (#5476)

  • 使 conda-build 的 rm_rf 上的 PrefixData 缓存失效 (#5491, #5499)

  • 修复生成 JSON 输出时的异常 (#5628)

  • 修复目标 prefix 确定 (#5642)

  • 使用代理以避免段错误 (#5716)

  • 修复 #5790 不正确的激活消息 (4.4.0rc1) (#5820)

  • 修复 #5808 加载软件包缓存时的断言错误 (4.4.0rc1) (#5815)

  • 修复 #5809 _pip_install_via_requirements 获得了意外的关键字参数 ‘prune’ (4.4.0rc1) (#5814)

  • 修复 #5811 将 conda 4.4 的 safety_checks 默认值更改为 ‘warn’ (4.4.0rc1) (#5824)

  • 修复 #5825 --json 输出格式 (4.4.0rc1) (#5831)

  • 修复 force_reinstall,用于软件包实际上未安装的情况 (4.4.0rc1) (#5836)

  • 修复 #5680 environment.yml 中的空 pip 子节错误 (4.4.0rc2) (#6275)

  • 修复 #5852 来自历史记录的错误令牌导致 conda 安装崩溃 (4.4.0rc2) (#6076)

  • 修复 #5827 无效命令时没有错误消息 (4.4.0rc2) (#6352)

  • 修复 ‘conda activate’ 的异常处理程序 (4.4.0rc2) (#6365)

  • 修复 #6173 conda 4.4 升级后立即出现双重提示 (4.4.0rc2) (#6351)

  • 修复 #6181 将现有 python 锁定到次要版本 (4.4.0rc2) (#6363)

  • 修复 #6201 当找不到软件包时,conda search 显示不正确的 subdir (4.4.0rc2) (#6367)

  • 修复 #6045 帮助消息和 zsh shift (4.4.0rc3) (#6368)

  • 修复 noarch python 软件包重新安装 (4.4.0rc3) (#6394)

  • 修复 #6366 shell 激活消息 (4.4.0rc3) (#6369)

  • 修复 #6429 ‘conda remove’ 上的 AttributeError (4.4.0rc3) (#6434)

  • 修复 #6449 ‘conda info --envs’ 的问题 (#6451)

  • 为 #6430 添加调试异常 (4.4.0rc3) (#6435)

  • 修复 #6441 ‘conda list’ 上的 NotImplementedError (4.4.0rc3) (#6442)

  • 修复 #6445 缩小 PWD 中的目录激活范围 (4.4.0rc3) (#6447)

  • 修复 #6283 conda update 情况下的 no-deps (4.4.0rc3) (#6448)

  • 修复 #6419 在 python 代码中设置 PS1 (4.4.0rc3) (#6446)

  • 修复 #6466 sp_dir 不存在 (#6470)

  • 修复 #6350 --update-all 移除太多软件包 (4.4.0) (#6491)

  • 修复 #6057 windows 4.4.x 上 python noarch 软件包的取消链接-链接顺序 (4.4.0) (#6494)

非用户可见的更改#

  • 消除 Resolve init 中的索引修改 (#4333)

  • 新的 MatchSpec 实现 (#4158, #5517)

  • 更新 conda.recipe 以用于 4.4 (#5086)

  • 解决 #5118 组织和清理以用于 4.4 版本 (#5115)

  • 删除未使用的磁盘空间检查说明 (#5167)

  • localfs 适配器测试 (#5181)

  • 额外的 config 命令测试 (#5185)

  • 为 confirm 添加覆盖率 (#5203)

  • 清理 FileNotFoundError 和 DirectoryNotFoundError (#5237)

  • 添加断言,即路径在重写前缀之前只有一个硬链接 (#5305)

  • 删除 windows 上 pycrypto 的需求 (#5326)

  • 导入清理、死代码删除、覆盖率改进和其他内务处理 (#5472, #5474, #5480)

  • 将 CondaFileNotFoundError 重命名为 PathNotFoundError (#5521)

  • 致力于 repodata API (#5267)

  • 将 PackageNotFoundError 重命名为 PackagesNotFoundError 并修复消息格式 (#5602)

  • 更新 conda 4.4 bld.bat windows 配方 (#5573)

  • 删除 CondaEnvRuntimeError 的最后残留 (#5643)

  • 修复拼写错误 (4.4.0rc2) (#6043)

  • 将 Travis-CI 替换为 CircleCI (4.4.0rc2) (#6345)

  • 键值功能 (#5645);在 4.4.0rc2 中还原 (#6347, #6492)

  • 解决 #6431 始终将 env_vars 添加到 info_dict (4.4.0rc3) (#6436)

  • 将 shell 移动到 conda 目录内 (4.4.0) (#6479)

  • 删除死代码 (4.4.0) (#6489)

4.3.34 (2018-02-09)#

缺陷修复#

  • 修复 #6833 改进功能不匹配指标 (#6853)

4.3.33 (2018-01-24)#

缺陷修复#

  • 修复 #6718 损坏的 ‘conda install --rev’ (#6719)

  • 修复 #6765 调整分配给未安装软件包的功能分数 (#6766)

4.3.32 (2018-01-10)#

改进#

  • 解决 #6711 回退到 copy/unlink 以用于 EINVAL、EXDEV 重命名失败 (#6712)

缺陷修复#

  • 修复 #6057 windows 上 python noarch 软件包的取消链接-链接顺序 (#6277)

  • 修复 #6509 ‘conda config --show’ 中 custom_channels 不正确 (#6510)

4.3.31 (2017-12-15)#

改进#

  • 向 conda_env create 添加 delete_trash (#6299)

缺陷修复#

  • 修复 #6023 临时文件的断言错误 (#6154)

  • 修复 #6220 ‘conda env export’ 的 --no-builds 标志 (#6221)

  • 修复 #6271 时间戳优先级导致不良的竞争条件 (#6279)

非用户可见的更改#

  • 修复在 anaconda.org API 更改后两个失败的集成测试 (#6182)

  • 解决 #6243 当 sys.prefix 不是 conda 环境时,将 root 标记为不可写 (#6274)

  • 添加计时工具 (#6458)

4.3.30 (2017-10-17)#

改进#

  • 解决 #6056 向 ‘conda info --all’ 添加额外的代理变量 (#6083)

缺陷修复#

  • 解决 #6164 在 augment_specs 之后移动 add_defaults_to_specs (#6172)

  • 修复 #6057 为消息 ‘cannot link source that does not exist’ 添加额外的详细信息 (#6082)

  • 修复 #6084 从 CLI 设置 default_channels 引发 NotImplementedError (#6085)

4.3.29 (2017-10-09)#

缺陷修复#

  • 修复 #6096 强制转换为毫秒时间戳 (#6131)

4.3.28 (2017-10-06)#

缺陷修复#

  • 修复 #5854 删除 pkg_resources 的导入 (#5991)

  • 修复毫秒时间戳 (#6001)

4.3.27 (2017-09-18)#

缺陷修复#

  • 修复 #5980 始终在 rm_rf 中 delete_prefix_from_linked_data (#5982)

4.3.26 (2017-09-15)#

弃用/重大更改#

改进#

  • 向求解器逻辑添加频道优先级最小化过程 (#5859)

  • 使用 /D 调用 cmd.exe 以用于 pre/post link/unlink 脚本 (#5926)

  • 向 s3 适配器添加 boto3 使用 (#5949)

缺陷修复#

  • 始终使用 rm_rf 删除链接的 prefix 条目 (#5846)

  • 解决 #5920 提升 repodata pickle 版本 (#5921)

  • 修复 msys2 activate 和 deactivate (#5950)

4.3.25 (2017-08-16)#

弃用/重大更改#

  • 解决 #5834 将 ‘allow_softlinks’ 的默认值从 True 更改为 False (#5839)

改进#

  • 添加非管理员检查以选择性禁用非特权操作 (#5724)

  • 向 always_softlink 配置选项添加额外警告消息 (#5826)

缺陷修复#

  • 修复 #5763 频道 url 字符串拆分错误 (#5764)

  • 修复 repodata _mod 和 _etag 的正则表达式 (#5795)

  • 修复缺少设备时未捕获的 OSError (#5830)

4.3.24 (2017-07-31)#

缺陷修复#

  • 修复 #5708 软件包优先级排序顺序 (#5733)

4.3.23 (2017-07-21)#

改进#

  • 解决 #5391 PackageNotFound 和 NoPackagesFoundError 清理 (#5506)

缺陷修复#

  • 修复 #5525 CondaHttpError 中过多的 Nones (#5526)

  • 修复 #5508 测试文件未清理后的断言失败 (#5533)

  • 修复 #5523 当主目录不存在时捕获 OSError (#5549)

  • 修复 #5574 追溯格式 (#5580)

  • 修复 #5554 logger 配置级别 (#5555)

  • 修复 #5649 create_default_packages 配置 (#5703)

4.3.22 (2017-06-12)#

改进#

  • 解决 #5428 清理 conda 4.3.x 中的 cli 导入 (#5429)

  • 解决 #5302 在路径中带有空格创建环境时添加警告 (#5477)

  • 对于 ftp 连接,忽略来自 PASV 的主机 IP,因为它通常是错误的 (#5489)

  • 在导出中公开常见的竞争条件异常,以用于 conda-build (#5498)

缺陷修复#

  • 修复 #5451 conda clean --json bug (#5452)

  • 修复 #5400 令人困惑的停用消息 (#5473)

  • 修复 #5459 自定义 subdir 频道解析 (#5478)

  • 修复 #5483 setuptools / pkg_resources 导入问题 (#5496)

4.3.21 (2017-05-25)#

缺陷修复#

  • 修复 #5420 conda-env update 错误 (#5421)

  • 修复 #5425 win int 上的 is admin 不可调用 (#5426)

4.3.20 (2017-05-23)#

改进#

  • 解决 #5217 在 python_api 中跳过用户确认,强制 always_yes (#5404)

缺陷修复#

  • 修复 #5367 conda info 始终在 Windows 上显示 ‘unknown’ 作为管理员指示器 (#5368)

  • 修复 #5248 删除可能并非始终准确的计划描述信息 (#5373)

  • 修复 #5378 重复的日志消息 (#5379)

  • 修复 #5298 记录具有 ‘build’,而不是 ‘build_string’ (#5382)

  • 修复 #5384 静默日志记录信息以避免干扰 JSON 输出 (#5393)

  • 修复 #5356 跳过 cli.python_api 的 root/conda logger 初始化 (#5405)

非用户可见的更改#

  • 避免频道优先级测试后的持久状态 (#5392)

  • 解决 #5402 为 #5384 添加回归测试 (#5403)

  • 清理 for 循环内的内部函数定义 (#5406)

4.3.19 (2017-05-18)#

改进#

  • 解决 #3689 改进缺少 anaconda-client 的错误消息 (#5276)

  • 解决 #4795 conda env export 缺少 -p 标志 (#5275)

  • 解决 #5315 为 ssl_verify 添加别名 verify_ssl (#5316)

  • 解决 #3399 将 netrc 存在/位置添加到 ‘conda info’ (#5333)

  • 解决 #3810 向 conda env update 添加 --prefix (#5335)

缺陷修复#

  • 修复 #5272 python2 下的 conda env export 丑陋 (#5273)

  • 修复 #4596 来自 pip on conda env export 的警告消息 (#5274)

  • 修复 #4986 --yes 不适用于 conda clean (#5311)

  • 修复 #5329 Windows 上的 unicode 错误 (#5328, #5357)

  • 修复 Python 3 的 sys_prefix_unfollowed (#5334)

  • 修复 #5341 带有 conda-env 的 --json 标志 (#5342)

  • 修复 5321 确保在 activate.bat 中设置变量 PROMPT (#5351)

非用户可见的更改#

  • 使用 requests 2.14.2 测试 conda 4.3 (#5281)

  • 删除 windows 上 pycrypto 的需求 (#5325)

  • 修复拼写错误 avaialble -> available (#5345)

  • 修复与 menuinst 更新相关的测试失败 (#5344, #5362)

4.3.18 (2017-05-09)#

改进#

  • 解决 #4224 当未安装 pysocks 时发出警告 (#5226)

  • 解决 #5229 添加 --insecure 标志以跳过 ssl 验证 (#5230)

  • 解决 #4151 在 windows 上向 conda info 添加管理员指示器 (#5241)

缺陷修复#

  • 修复 #5152 conda info 间距 (#5166)

  • 修复 --use-index-cache 实际上命中索引缓存 (#5134)

  • 从 4.4 反向移植 LinkPathAction 验证 (#5171)

  • 修复 #5184 无效 map 配置参数上的堆栈跟踪 (#5186)

  • 修复 #5189 无效序列 config param 上的堆栈跟踪 (#5192)

  • 添加对 linux-aarch64 平台的支持 (#5190)

  • 修复使用 --offline 标志获取 repodata (#5146)

  • 修复 #1773 conda remove 拼写检查 (#5176)

  • 修复 #3470 减少过多的错误消息 (#5195)

  • 修复 #1597 确保 --dry-run 不执行任何操作 (#5201)

  • 修复 #3470 异常周围额外的换行符 (#5200)

  • 修复 #5214 ‘nothing_to_do’ 情况的安装消息 (#5216)

  • 修复 #598 condarc 写权限被拒绝的堆栈跟踪 (#5232)

  • 修复 #4960 当异常无法显示时提供额外信息 (#5236)

  • 修复 #4974 prefix 的链接数据中没有匹配的 dist (#5239)

  • 修复 #5258 为 conda config --describe 提供正确的元素类型 (#5259)

  • 修复 #4911 将 shutil.copy2 分离为 copy 和 copystat (#5261)

非用户可见的更改#

  • 解决 #5138 添加 rm_rf symlinked 文件的测试 (#4373)

  • 解决 #4516 添加额外的 trace-level 日志记录 (#5249, #5250)

  • 为 --update-deps 标志添加测试 (#5264)

4.3.17 (2017-04-24)#

改进#

  • 如果硬链接失败,则回退到复制 (#5002)

  • 为 tiebreaking conda-build 3 哈希软件包添加时间戳元数据 (#5018)

  • 解决 #5034 添加 subdirs 配置参数 (#5030)

  • 解决 #5081 使 pinned packages 成为可选/约束性依赖项 (#5088)

  • 解决 #5108 改进行为并为路径中空格添加测试 (#4786)

缺陷修复#

  • 引用带有空格的位置的 prefix 路径 (#5009)

  • 删除 binstar logger 配置覆盖 (#4989)

  • 修复 #4969 DirectoryNotFoundError 中的错误 (#4990)

  • 修复 #4998 pinned string 格式 (#5011)

  • 修复 #5039 收集 main_info 不应在 requests 导入时失败 (#5090)

  • 修复 #5055 改进 anaconda.org 的错误令牌消息 (#5091)

  • 修复 #5033 仅重新注册有效的信号处理程序 (#5092)

  • 修复 #5028 main_list 中的导入 (#5093)

  • 修复 #5073 允许 client_ssl_cert{_key} 类型为 None (#5096)

  • 修复 #4671 package validate 竞争条件的退避 (#5098)

  • 修复 #5022 gnu_get_libc_version => linux_get_libc_version (#5099)

  • 修复 #4849 软件包名称匹配错误 (#5103)

  • 修复 #5102 允许 proxy_servers 类型为 None (#5107)

  • 修复 #5111 str + NoneType 的不正确的 typify (#5112)

非用户可见的更改#

  • 解决 #5012 移除 CondaRuntimeError 和 RuntimeError (#4818)

  • 完整审计,确保项目内相对导入路径 (#5090)

  • 解决 #5116 重构 conda/cli/activate.py 以帮助 menuinst (#4406)

4.3.16 (2017-03-30)#

改进#

  • 向配置 SEARCH_PATH 添加内容以提高一致性 (#4966)

  • 添加 ‘conda config --describe’ 和额外的配置文档 (#4913)

  • 在 condarc 中启用打包 pinning,使用 pinned_packages 配置参数作为 beta 功能 (#4921, #4964)

Bug 修复#

  • 修复 #4914 处理文件路径之上的目录创建 (#4922)

  • 修复 #3982 CONDA_ENV 和使用 powerline 的问题 (#4925)

  • 修复 #2611 更新关于如何 source conda.fish 的说明 (#4924)

  • 修复 #4860 缺少关于未找到软件包错误的信息 (#4935)

  • 修复 #4944 命令未找到错误 (#4963)

4.3.15 (2017-03-20)#

改进#

  • 允许使用 conda config 配置 pkgs_dirs (#4895)

Bug 修复#

  • 移除 delete_prefix_from_linked_data() 的不正确的省略 (#4814)

  • 修复只读根前缀的 envs_dirs 顺序 (#4821)

  • 修复 conda clean 中的断点 (#4801)

  • 修复创建入口点时的长 shebang (#4828)

  • 修复拼写和错别字 (#4868, #4869)

  • 修复 #4840 TypeError reduce(),空序列没有初始值 (#4843)

  • 修复 zos subdir (#4875)

  • 修复 activate 期间触发的异常 (#4873)

4.3.14 (2017-03-03)#

改进#

  • 使用 cPickle 代替 pickle 用于 repodata (#4717)

  • 忽略 pyc 编译失败 (#4719)

  • 使用 conda.exe 作为 windows 入口点可执行文件 (#4716, #4720)

  • 本地化 conda_signal_handler 的使用 (#4730)

  • 添加 skip_safety_checks 配置参数 (#4767)

  • 永远不要使用 ORIGIN 符号链接可执行文件 (#4625)

  • 将 activate.bat 代码页设置为 CP_ACP (#4558)

Bug 修复#

  • 修复 #4777 软件包缓存初始化速度 (#4778)

  • 修复 #4703 menuinst PathNotFoundException (#4709)

  • 如果无法读取 user_site,则忽略权限错误 (#4710)

  • 修复 #4694 不要直接在 models 中导入 requests (#4711)

  • 修复 #4715 在 recipe 中包含 resources 目录 (#4716)

  • 修复包含 ‘%’ 的 URL 的 CondaHttpError (#4769)

  • preferred envs 的 Bug 修复 (#4678)

  • 修复 #4745 检查 info/index.json,软件包 is_extracted (#4776)

  • 确保 url 包含在 CondaHTTPError 中 (#4779)

  • 修复 #4757 映射类型配置设置为 None (#4774)

  • 修复 #4788 部分软件包提取 (#4789)

非用户可见的更改#

  • 测试覆盖率改进 (#4607)

  • CI 配置改进 (#4713, #4773, #4775)

  • 允许 sha256 为 None (#4759)

  • 添加 cache_fn_url 到 exports (#4729)

  • 为 PY3 集成测试添加 unicode 路径 (#4760)

  • 额外的单元测试 (#4728, #4783)

  • 修复 conda-build 兼容性和测试 (#4785)

4.3.13 (2017-02-17)#

改进#

  • 解决 #4636 pkgs_dirs 的环境变量扩展 (#4637)

  • Windows 的 link、symlink、islink 和 readlink (#4652, #4661)

  • 向 CondaHTTPError 添加额外信息 (#4638, #4672)

Bug 修复#

  • 在功能确定后最大化请求的构建 (#4647)

  • 修复 #4649 关于软件包缓存目录的不正确的 assert 语句 (#4651)

  • 多用户模式 Bug 修复 (#4663)

非用户可见的更改#

  • path_actions 单元测试 (#4654)

  • 移除 dead code (#4369, #4655, #4660)

  • 将 repodata 逻辑从 index 分离到一个新的 core/repodata.py 模块 (#4669)

4.3.12 (2017-02-14)#

改进#

  • 准备 conda 上传到 pypi (#4619)

  • 更好的通用 http 错误消息 (#4627)

  • 禁用旧的 python noarch 警告 (#4576)

Bug 修复#

  • 修复 ensure_text_type 的 UnicodeDecodeError (#4585)

  • 修复文件路径是否可写的确定 (#4604)

  • 修复 #4592 BufferError 无法关闭导出的指针存在 (#4628)

  • 修复 run_script 当前工作目录 (#4629)

  • 修复 pkgs_dirs 权限回归 (#4626)

非用户可见的更改#

  • 修复当 conda-bld 目录不存在时的测试 (#4606)

  • 使用 requirements.txt 和 Makefile 进行 travis-ci 设置 (#4600, #4633)

  • 从 compat 函数中移除 hasattr 的使用 (#4634)

4.3.11 (2017-02-09)#

Bug 修复#

  • 修复 add_defaults_to_specs 中的属性错误 (#4577)

4.3.10 (2017-02-07)#

改进#

  • 从 pickle 路径中移除 .json (#4498)

  • 改进空的 repodata noarch 警告和错误消息 (#4499)

  • 不要将 python 和 lua 添加为私有 envs 的默认 specs (#4529, #4533)

  • 让 default_python 为 None (#4547, #4550)

Bug 修复#

  • 修复 #4513 没有 noarch 的 channel 的空指针异常 (#4518)

  • 修复 ssl_verify 设置类型 (#4517)

  • 修复 windows multiuser 的 bug (#4524)

  • 修复 clone,包含 noarch python 软件包 (#4535)

  • 修复 Windows 上 python 2.7 的 ipv6 (#4554)

非用户可见的更改#

  • 使用 marker 分离集成测试 (#4532)

4.3.9 (2017-01-31)#

改进#

  • 改进 repodata 缓存以提高性能 (#4478, #4488)

  • 扩展 bad_installed 包含的软件包范围 (#4402)

  • 静默旧 noarch 的 pre-link 警告 (#4451)

  • 添加配置以选择性地要求 noarch repodata (#4450)

  • 改进 conda 子进程处理 (#4447)

  • 遵循 info/link.json (#4482)

Bug 修复#

  • 修复 #4398 ‘hard’ 曾经用于链接类型 (#4409)

  • 修复了 “No matches for wildcard ‘$activate_d/*.fish’” 警告 (#4415)

  • 为 fish shell 打印正确的 activate/deactivate 消息 (#4423)

  • 修复 ‘Dist’ 对象没有属性 ‘fn’ (#4424)

  • 修复 noarch generic 并添加额外的集成测试 (#4431)

  • 修复 #4425 未知编码 (#4433)

非用户可见的更改#

  • conda-build 失败时 CI 失败 (#4405)

  • 运行 doctests (#4414)

  • 使 index record 再次可变 (#4461)

  • conda list --json 的附加测试 (#4480)

4.3.8 (2017-01-23)#

Bug 修复#

  • 修复 #4309 忽略目录重命名的 EXDEV 错误 (#4392)

  • 修复 #4393,如果路径已存在,则强制重命名某些备份文件 (#4397)

4.3.7 (2017-01-20)#

Bug 修复#

  • 实际上恢复 leaky plan 的 json 输出 (#4383)

  • 修复未在 pre/post-link 错误时引发异常 (#4382)

  • 修复 symlinks 的 find_commands 和 find_executable (#4387)

4.3.6 (2017-01-18)#

Bug 修复#

  • 修复 windows 上 ‘Uncaught backoff with errno 41’ 警告 (#4366)

  • 恢复 leaky plan 的 json 输出 (#4349)

  • 审计 os.environ 设置 (#4360)

  • 修复 #4324 使用旧的 dist 字符串而不是 dist 对象 (#4361)

  • 修复 #4351 通过 #4120 中的代码进行无限递归 (#4370)

  • 修复 #4368 conda -h (#4367)

  • activate 时针对符号链接竞争条件的解决方法 (#4346)

4.3.5 (2017-01-17)#

改进#

  • 为损坏的 repodata 添加异常消息 (#4315)

Bug 修复#

  • 修复下载后未在缓存中找到软件包 (#4297)

  • 修复 Content-Length 不匹配的逻辑 (#4311, #4326)

  • 在 etag 正则表达式后使用 unicode_escape 而不是 utf-8 (#4325)

  • 修复 #4323 中央 condarc 文件被忽略 (#4327)

  • 修复 #4316 deactivate 中的一个 bug (#4316)

  • 无论 is_unlink 如何,都将 target_prefix 作为 env_prefix 传递 (#4332)

  • 将位置参数 ‘context’ 传递给 BasicClobberError (#4335)

非用户可见的更改#

  • 额外的软件包 pinning 测试 (#4317)

4.3.4 (2017-01-13)#

改进#

  • 从 urllib3 供应商 url 解析 (#4289)

Bug 修复#

  • 修复 windows 多用户支持中的一些 bug (#4277)

  • 修复 type 类型的 channels 的问题 (#4290)

  • 包含第一个命令行参数的别名 (#4279)

  • 修复多行 FTP 状态代码 (#4276)

非用户可见的更改#

  • 使 IndexRecord 中的 arch 为 StringField 而不是 EnumField

  • 改进 conda-build 兼容性 (#4266)

4.3.3 (2017-01-10)#

改进#

  • 遵循 repodata 的 Cache-Control max-age header (#4220)

  • 添加 ‘local_repodata_ttl’ 可配置性 (#4240)

  • 移除有问题的 “nothing to install” 逻辑 (#4237)

  • 放宽 4.3 的 channel noarch 要求;现在警告,在未来的功能版本中引发异常 (#4238)

  • setup.py 警告消息添加额外信息 (#4258)

Bug 修复#

  • 正确移除 features (#4236)

  • 不要使用 IFS 来查找要 source 的 activate/deactivate 脚本 (#4239)

  • 修复 #4235 将消息打印到 stderr (#4241)

  • 修复 activate.bat 中 python 的相对路径 (#4242)

  • 修复 args.channel 引用 (#4245, #4246)

  • 确保 cache_fn_url 右填充 (#4255)

  • 修复 #4256 子进程调用必须将 env 包装在 str 中 (#4259)

4.3.2 (2017-01-06)#

弃用/重大更改#

  • 进一步完善 conda channels 规范。要验证 channel 的 url 是否代表有效的 conda channel,我们检查 noarch/repodata.json 和/或 noarch/repodata.json.bz2 是否存在,即使为空。 (#3739)

改进#

  • 添加新的 ‘path_conflict’ 和 ‘clobber’ 配置选项 (#4119)

  • 为显式 URL 分离 fetch/extract 过程 (#4125)

  • 更新 conda 主页至 conda.io (#4180)

Bug 修复#

  • 修复 pre/post unlink/link 脚本 (#4113)

  • 修复软件包版本正则表达式和 create_link 中的 bug (#4132)

  • 修复历史记录跟踪 (#4143)

  • 修复 index 创建顺序 (#4131)

  • 修复 #4152 conda env export 失败 (#4175)

  • 修复 #3779 windows 上的 channel UNC 路径编码错误 (#4190)

  • 修复进度条 (#4191)

  • 使用 context.channels 而不是 args.channel (#4199)

  • 不要对 file:// urls 使用本地缓存的 repodata (#4209)

非用户可见的更改#

  • 如果找到本地 token,则 xfail anaconda token 测试 (#4124)

  • 修复与 python 3.6 版本相关的开放式测试失败 (#4145)

  • 延长 test_multi_channel_export 的 timebomb (#4169)

  • 不要 unlink 不在 index 中的 dists (#4130)

  • 添加 python 3.6 和新的 conda-build 测试目标 (#4194)

4.3.1 (2016-12-19)#

改进#

  • 额外的预事务验证 (#4090)

  • 为 conda-build 导出 FileMode 枚举 (#4080)

  • memoize 磁盘权限测试 (#4091)

  • 本地 repodata 缓存,无需远程服务器调用;新的 ‘repodata_timeout_secs’ 配置参数 (#4094)

  • 性能调优 (#4104)

  • 向 dist 对象序列化添加附加字段 (#4102)

Bug 修复#

  • 修复 windows 上的 noarch 安装 bug (#4071)

  • 修复导致打包期间 python 版本混合的 spec 不匹配 (#4079)

  • 修复回滚链接记录 (#4092)

  • 修复 #4097 在 PREFIX_PLACEHOLDER 中保留 split (#4100)

4.3.0 (2016-12-14) 安全性#

新特性#

  • 在单个事务中取消链接和链接包:过去,conda 在其磁盘变动操作中并不总是安全和防御性的。它兴高采烈地破坏现有文件,并且中间操作失败会导致环境完全损坏。在一些最严重的例子中,conda 可能会“卸载自身”。在此版本中,执行命令的软件包的取消链接和链接在单个事务中完成。如果在 conda 更改磁盘上的文件时由于任何原因发生故障,环境将返回其先前的状态。虽然我们已经实施了一些预事务检查(例如,验证软件包完整性),但不可能预测每种故障机制。在某些情况下,在尝试操作并失败之前,OS 文件权限无法完全知晓。并且 conda 本身并非没有 bug。展望未来,不可预见的故障不会是灾难性的。 (#3833, #4030)

  • 渐进式获取和提取事务:与软件包取消链接和链接类似,软件包处理的下载和提取阶段也已赋予类似事务的行为。区别在于错误时的回滚仅限于单个软件包。单个软件包回滚而不是回滚所有软件包的下载和提取操作,防止了在遇到错误时需要重新下载每个软件包的情况。 (#4021, #4030)

  • 通用和 Python 类型 Noarch/通用软件包:与 conda-build 2.1.0 一起,正式支持 python 软件包的 noarch/通用类型。这些非常像通用 python wheels。python noarch 软件包中的文件像任何其他 conda 软件包一样链接到前缀中,具有以下附加功能

    1. conda 将 site-packages 目录映射到环境中 python 版本的正确位置,

    2. conda 将 python-scripts 目录映射到 \(PREFIX/bin 或 \)PREFIX/Scripts,具体取决于平台,

    3. conda 创建 conda-build recipe 中指定的 python 入口点,以及

    4. 当保证前缀写入权限时,conda 在安装时编译 pyc 文件。

    Python noarch 软件包必须是“完全通用的”。它们不能具有特定于 OS 或 python 版本的依赖项。它们不能具有特定于 OS 或 python 版本的 “scripts” 文件。如果需要这些功能,则必须使用传统的 conda 软件包。 (#3712)

  • 多用户软件包缓存:虽然磁盘软件包缓存结构已保留,但实现软件包缓存处理的核心逻辑已进行了全面改革。完全支持可写和只读软件包缓存。 (#4021)

  • Python API 模块:一个经常被请求的功能是能够将 conda 用作 python 库,从而避免需要 “shell out” 到另一个 python 进程。Conda 4.3 包括一个 conda.cli.python_api 模块,该模块有助于此用例。虽然我们维护面向用户的命令行界面,但 conda 命令可以在进程内执行。还有一个 conda.exports 模块,以方便在 conda conda 版本之间将 conda 作为库进行长期使用。但是,conda 的 python 代码认为是内部和私有的,可能会在各个版本之间随时更改。目前,conda 不会将自身安装到其原始安装环境以外的环境中。 (#4028)

  • 移除所有锁:锁定在 conda 中从未完全有效,并且经常产生虚假的安全感。在此版本中,已实施多用户软件包缓存支持,通过将只读缓存中的软件包硬链接到用户的主用户软件包缓存来提高安全性。尽管如此,仍告诫用户,当 conda 在多个进程中运行并操作相同的软件包缓存和/或环境时,可能会导致未定义的行为。 (#3862)

弃用/重大更改#

  • Conda 将拒绝破坏事务的取消链接指令之外的现有文件。冒着对用户不友好的风险,这是 conda 向前迈出的一步。我们确实预计会出现一些成长的烦恼。例如,conda 不会破坏已使用 pip(或任何其他软件包管理器)安装的软件包。在其他情况下,包含重叠文件路径但来自不同软件包系列的 conda 软件包将不会同时安装。--force 命令行标志是逃生舱口。使用 --force 将使您的操作继续进行,但也明确表示您希望 conda 执行它认为不安全的操作。

  • Conda 签名软件包已在 4.3 中移除。漏洞依然存在。安全性的幻觉比根本没有该功能更糟糕。我们将在未来的功能版本中将 The Update Framework 合并到 conda 中。 (#4064)

  • Conda 4.4 将放弃对旧版本 conda-build 的支持。

改进#

  • 创建一个新的 “trace” 日志级别,通过 -v -v -v-vvv 启用 (#3833)

  • 允许使用 pip 安装 conda,但仅当用作库/依赖项时 (#4028)

  • ‘r’ channel 现在是 defaults 的一部分 (#3677)

  • conda 的私有环境支持 (#3988)

  • 支持 v1 info/paths.json 文件 (#3927, #3943)

  • 支持 v1 info/package_metadata.json (#4030)

  • 改进的求解器提示检测,简化的过滤 (#3597)

  • 缓存 VersionOrder 对象以提高性能 (#3596)

  • 修复文档和错别字 (#3526, #3572, #3627)

  • 添加 multikey 配置验证 (#3432)

  • 一些 Fish 自动完成 (#2519)

  • 降低从 index 中移除的软件包的优先级 (#3703)

  • 向 conda info 添加 user-agent、uid、gid (#3671)

  • 添加 conda.exports 模块 (#3429)

  • 使 http 超时可配置 (#3832)

  • 添加 pkgs_dirs 配置参数 (#3691)

  • 添加 ‘always_softlink’ 选项 (#3870, #3876)

  • fetch 和 extract 的磁盘空间等预检查 #(4007)

  • 解决 #3879 当启用 quiet 配置时不打印 activate 消息 (#3886)

  • 添加 zos-z subdir (#4060)

  • 向 HTTP 错误添加经过时间 (#3942)

Bug 修复#

  • 考虑 Windows Python 2.7 os.environ unicode 厌恶症 (#3363)

  • 修复记录对象中的 link 字段 (#3424)

  • anaconda api token bug 修复;附加测试 (#3673)

  • 修复 #3667 unicode 字面量和 unicode 解码 (#3682)

  • 添加 conda-env 入口点 (#3743)

  • 修复 #3807 conda config --show --json 上的 json dump (#3811)

  • 修复 #3801 index.json 临时硬链接的位置 (#3813)

  • 修复无效的 yml 示例 (#3849)

  • 将 arm 平台添加回 subdirs (#3852)

  • 修复 #3771 更好的断言错误错误消息 (#3802)

  • 修复 #3999 shebang 替换中的空格 (#4008)

  • config --show-sources 不应默认显示 force (#3891)

  • 修复 #3881 不要在 root 的 clones 中安装 conda-env (#3899)

  • conda-build dist 兼容性 (#3909)

非用户可见的更改#

  • 移除不必要的 eval (#3428)

  • 移除 dead install_tar 函数 (#3641)

  • 将 PEP-8 应用于 conda-env (#3653)

  • 将 dist 重构为对象 (#3616)

  • 供应商 appdirs;移除 conda 对 anaconda-client 导入的依赖 (#3675)

  • 从 #2380 恢复 boto patch (#3676)

  • 移动和更新 ROOT_NO_RM (#3697)

  • conda clean 的集成测试 (#3695, #3699)

  • 禁用 s3 和 ftp requests adapters 上的 coverage (#3696, #3701)

  • github repo hygiene (#3705, #3706)

  • 主要安装重构 (#3712)

  • 移除 test timebombs (#4012)

  • LinkType 重构 (#3882)

  • 移动 CrossPlatformStLink 并使其作为 export 可用 (#3887)

  • 使 Record 不可变 (#3965)

  • 项目内务处理 (#3994, #4065)

  • 上下文相关的 setup.py 文件 (#4057)

4.2.17 (未发布)#

改进#

  • 静默旧 noarch 4.2.x backport 的 pre-link 警告 (#4453)

Bug 修复#

  • 移除 delete_prefix_from_linked_data() 的不正确的省略 (#4813)

  • 修复 CB #1825 上下文破坏 (#4867)

  • 修复 #5101 api->conda 正则表达式替换 Anaconda API channels (#5100)

非用户可见的更改#

  • 针对 conda-build 2.1.2 构建 4.2.x 并强制通过 (#4462)

4.2.16 (2017-01-20)#

改进#

  • 从 urllib3 供应商 url 解析 (#4289)

  • activate 时针对符号链接竞争条件的解决方法 (#4346)

Bug 修复#

  • 不要在 Windows 上的 file:// URLs 中将 \ 替换为 / (#4269)

  • 包含第一个命令行参数的别名 (#4279)

  • 修复多行 FTP 状态代码 (#4276)

  • 修复未知类型 channels 的错误 (#4291)

  • 当 info/files 未找到时,将 sys.exit 更改为 raise UpgradeError (#4388)

非用户可见的更改#

  • 开始在测试运行和 coverage 中使用 doctests (#4304)

  • 额外的软件包 pinning 测试 (#4312)

4.2.15 (2017-01-10)#

改进#

  • 根据 PEP-440,为 commits 使用 ‘post’ 而不是 ‘dev’ (#4234)

  • 不要使用 IFS 来查找要 source 的 activate/deactivate 脚本 (#4243)

  • 修复 activate.bat 中 python 的相对路径 (#4244)

Bug 修复#

  • 用 python 替换 sed 以进行 activate 和 deactivate #4257

4.2.14 (2017-01-07)#

改进#

  • 使用 install.rm_rf 进行 TemporaryDirectory 清理 (#3425)

  • 改进本地依赖项信息的处理 (#2107)

  • 为 Windows 和 Unix 向 exports 添加默认 channels (#4103)

  • 使 subdir 可配置 (#4178)

Bug 修复#

  • 修复 conda/install.py 单文件行为 (#3854)

  • 修复 api->conda 替换 (#3456)

  • 修复静默目录移除 (#3730)

  • 修复 index.json 临时硬链接的位置 (#3975)

  • 修复多 channel export 和离线 clone 中的潜在错误 (#3995)

  • 修复 auxlib/packaging,git hashes 不限于 7 个字符 (#4189)

  • 修复与 requests >=2.12 的兼容性,添加 pyopenssl 作为依赖项 (#4059)

  • 修复 #3287 activate 在 4.1-4.2.3 中破坏了非 conda PATH 更改 (#4211)

非用户可见的更改#

  • 修复与 python 3.6 版本相关的开放式测试失败 (#4166)

  • 允许将 args 传递给 cli.main() (#4193, #4200, #4201)

  • 针对 python 3.6 进行测试 (#4197)

4.2.13 (2016-11-22)#

弃用/重大更改#

  • 显示 pre-link 脚本的警告消息 (#3727)

  • 对于需要 conda 最低版本 4.3 的软件包安装,报错并退出 (#3726)

改进#

  • 双倍/延长 http 超时 (#3831)

  • 让描述性 http 错误涵盖更多 http 异常 (#3834)

  • backport 一些 conda-build 配置 (#3875)

Bug 修复#

  • 修复 conda/install.py 单文件行为 (#3854)

  • 修复 api->conda 替换 (#3456)

  • 修复静默目录移除 (#3730)

  • 修复 #3910 is_url 的 null 检查 (#3931)

非用户可见的更改#

  • 启用 flake8 E116、E121 和 E123 (#3883)

4.2.12 (2016-11-02)#

Bug 修复#

  • 修复 #3732、#3471、#3744 CONDA_BLD_PATH (#3747)

  • 修复 #3717 允许 no-name channels (#3748)

  • 修复 #3738 将 conda-env 移动到 ruamel_yaml (#3740)

  • 修复 conda-env 入口点 (#3745 via #3743)

  • 再次修复 #3664 trash emptying (#3746)

4.2.11 (2016-10-23)#

改进#

  • 仅尝试一次 windows trash 移除 (#3698)

Bug 修复#

  • 修复 anaconda api token bug (#3674)

  • 修复 #3646 FileMode 枚举比较 (#3683)

  • 修复 #3517 conda install --mkdir (#3684)

  • 修复 #3560 hack anaconda token coverup on conda info (#3686)

  • 修复 #3469 将 envs_path 别名为 envs_dirs (#3685)

4.2.10 (2016-10-18)#

改进#

  • conda info -s 添加 json 输出 (#3588)

  • 忽略 windows 上的某些二进制前缀 (#3539)

  • 允许 conda 配置文件具有 .yaml 扩展名或文件名中任何位置的 ‘condarc’ (#3633)

Bug 修复#

  • 修复 conda-build 的 handle_proxy_407 导入 (#3666)

  • 修复 #3442、#3459、#3481、#3531、#3548 多个网络和身份验证问题 (#3550)

  • 添加回 linux-ppc64le subdir 支持 (#3584)

  • 修复 #3600 确保在 unlinking 时移除链接 (#3625)

  • 修复 #3602 按平台搜索 channels (#3629)

  • 修复更新环境时重复的软件包 (#3563)

  • 修复 #3590 解析无效 yaml 时的异常 (#3593 via #3634)

  • 修复 #3655 字符串解码错误 (#3656)

非用户可见的更改#

  • backport conda.exports 模块到 4.2.x (#3654)

  • travis-ci OSX 修复 (#3615 via #3657)

4.2.9 (2016-09-27)#

Bug 修复#

  • 修复 #3536 conda-env messaging 到带有 --json 标志的 stdout (#3537)

  • 修复 #3525 使用 --json 标志为 post-link 脚本写入 sys.stdout (#3538)

  • 修复 #3492 使 NULL 为 python 3 的 falsey (#3524)

4.2.8 (2016-09-26)#

改进#

  • 将 “error” 键添加回 json 错误输出 (#3523)

Bug 修复#

  • 修复 #3453 conda 在 create_default_packages 中失败 (#3454)

  • 修复 #3455 --dry-run 失败 (#3457)

  • 降低 rm_rf 的错误消息级别 (#3522)

  • 修复 #3467 遇到的 map 配置参数验证的 AttributeError (#3521)

4.2.7 (2016-09-16)#

弃用/重大更改#

  • 恢复到 conda list --export 的 4.1.x 行为 (#3450, #3451)

Bug 修复#

  • 如果 channel spec 中已给出 binstar token,则不要添加 (#3427, #3440, #3444)

  • 修复 #3433 移除损坏的符号链接失败 (#3436)

非用户可见的更改#

  • 使用 install.rm_rf 进行 TemporaryDirectory 清理 (#3425)

4.2.6 (2016-09-14)#

改进#

  • 添加对客户端 TLS 证书的支持 (#3419)

  • 解决 #3267 允许迁移 channel_alias (#3410)

  • conda-env 版本与 conda 版本匹配 (#3422)

Bug 修复#

  • 修复 #3409 unsatisfiable dependency 错误消息 (#3412)

  • 修复 #3408 quiet rm_rf (#3413)

  • 修复 #3407 padding 错误消息 (#3416)

  • 考虑 Windows Python 2.7 os.environ unicode 厌恶症 (#3363 via #3420)

4.2.5 (2016-09-08)#

弃用/重大更改#

  • 部分恢复 #3041,使 conda config --add 具有之前的 --prepend 行为 (#3364 via #3370)

  • 部分恢复 #2760,添加回 conda package 命令 (#3398)

改进#

  • 排序 conda config --show 的输出;使 --json 友好 (#3384 via #3386)

  • 在异常时清理基于 pid 的锁 (#3325)

  • 改进所有平台上的文件移除 (#3280 via #3396)

缺陷修复#

  • 修复 #3332 允许下载 URL 中包含 :: (#3335)

  • 修复 always_yes 和 not-set argparse 参数覆盖其他来源的问题 (#3374)

  • 修复 ftp 获取超时 (#3392)

  • 修复 #3307 为 touch lock 添加 try/except 块 (#3326)

  • 修复 CONDA_CHANNELS 环境变量拆分问题 (#3390)

  • 修复 #3378 CONDA_FORCE_32BIT 环境变量 (#3391)

  • 使 conda info channel urls 实际给出 URL (#3397)

  • 修复 cio_test 兼容性 (#3395 通过 #3400)

4.2.4 (2016-08-18)#

缺陷修复#

  • 修复 #3277 conda list 包顺序问题 (#3278)

  • 修复重复频道导致的频道优先级问题 (#3283)

  • 修复本地频道;添加完整的 conda-build 单元测试 (#3281)

  • 修复未指定包的 conda install (#3284)

  • 修复 #3253 导出和导入 conda 环境 (#3286)

  • 修复 conda config --get 的优先级消息 (#3304)

  • 修复 conda list --export;添加额外的集成测试 (#3291)

  • 修复 conda update --all 幂等性;为频道优先级添加集成测试 (#3306)

非用户可见的更改#

  • 添加额外的 conda-env 集成测试 (#3288)

4.2.3 (2016-08-11)#

改进#

  • 为 Windows shells 添加 zsh 和 zsh.exe (#3257)

缺陷修复#

  • 允许 conda 降级自身 (#3273)

  • 修复 4.2.2 导致的 conda-build 破坏性更改 (#3265)

  • 修复 conda 和 conda-env 导致的空环境问题 (#3269)

非用户可见的更改#

  • 为 conda-env 添加集成测试 (#3270)

  • 添加更多 conda-build 冒烟测试 (#3274)

4.2.2 (2016-08-09)#

改进#

  • 在 Windows 上启用二进制前缀替换 (#3262)

  • 添加 --verbose 命令行标志 (#3237)

  • 改进日志记录和异常详细信息 (#3237, #3252)

  • 在未询问的情况下不删除空环境;当找不到命名环境时引发错误 (#3222)

缺陷修复#

  • 修复 #3226 Windows 上用户 condarc 不可用的问题 (#3228)

  • 修复 conda config --show* 中的一些错误 (#3212)

  • 修复 conda-build 本地频道错误 (#3202)

  • 移除子进程退出消息 (#3245)

  • 修复 conda-env environment.yml 中的注释解析和频道问题 (#3258, #3259)

  • 修复 conda-env 的上下文错误 (#3232)

  • 修复 #3182 conda install 静默跳过链接失败的问题 (#3184)

4.2.1 (2016-08-01)#

改进#

  • 改进 conda install --revision 期间可能发生的错误消息 (#3181)

  • 使用干净的 sys.exit 和用户选择 “No” (#3196)

缺陷修复#

  • 关键修复 4.2.0 版本在 PATH 中没有 git 时出现的错误 (#3193)

  • 恢复 #3171 退出时锁定清理,等待进一步完善

  • 为 conda-build 兼容 4.2 版本打补丁 (#3187)

  • 修复 --show-sources 输出中忽略别名参数名称的错误 (#3189)

非用户可见的更改#

  • 将 bin 目录中的脚本移动到 shell 目录 (#3186)

4.2.0 (2016-07-28) 配置#

新特性#

  • 全新配置引擎:配置和“操作上下文”是 conda 功能的基础。Conda 现在能够从多个磁盘位置提取配置信息,包括 .d 目录和 conda 环境.condarc 文件),以及完整的 CONDA_ 环境变量支持。对于不正确指定的配置,会给出有用的验证错误。完整文档更新正在进行中。(#2537, #3160, #3178)

  • 全新异常处理引擎:之前的版本遵循过早退出的模式(在遇到异常情况时硬调用 sys.exit())。此版本用 python 异常替换了 100 多个 sys.exit 调用。对于 conda 开发人员来说,这将使测试更容易编写。对于使用 conda 的开发人员来说,这是 conda 可以直接导入的第一步。对于 conda 用户来说,这将最终带来更有帮助和更具描述性的错误消息。(#2899, #2993, #3016, #3152, #3045)

  • 空环境:Conda 现在可以在未指定初始包的情况下创建“空”环境,从而减轻了常见的困惑来源。(#3072, #3174)

  • 私有 Env 中的 Conda:Conda 现在可以配置为在其自己的私有环境中运行。虽然它还不是默认行为,但这代表了将 root 环境分离为“conda private”环境和“user default”环境的第一步。(#3068)

  • 正则表达式版本规范:正则表达式现在是有效的版本说明符。例如,^1\.[5-8]\.1$|2.2。(#2933)

弃用/破坏性更改#

  • 移除 conda init (#2759)

  • 移除 conda package 和 conda bundle (#2760)

  • 弃用 conda-env repo;拉取到 conda proper 中 (#2950, #2952, #2954, #3157, #3163, #3170)

  • 强制使用 ruamel_yaml (#2762)

  • 实现 conda config --prepend;将 --add 的行为更改为 --append (#3041)

  • 在链接错误时退出而不是记录它 (#2639)

改进#

  • 改进锁定 (#2962, #2989, #3048, #3075)

  • 清理用于获取包的 requests 用法 (#2755)

  • 移除 conda --help 中的多余输出 (#2872)

  • 移除 update_prefix 中的 os.remove (#3006)

  • 如果为非 root 环境指定了 conda,则提供更好的错误行为 (#2956)

  • 在 unix 上缩减 try_write 函数 (#3076)

缺陷修复#

  • 移除 psutil 要求,修复烦人的错误消息 (#3135, #3183)

  • 修复 #3124 为 memoize 添加线程锁 (#3134)

  • 修复多线程 repodata 下载失败的问题 (#3078)

  • 修复 windows 文件 URL (#3139)

  • 解决 #2800,environment.yml 和非默认频道的错误 (#3164)

非用户可见的更改#

  • 项目结构增强 (#2929, #3132, #3133, #3136)

  • 使用新的频道模型清理频道处理 (#3130, #3151)

  • 添加 Anaconda Cloud / Binstar 身份验证处理程序 (#3142)

  • 移除死代码 (#2761, #2969)

  • 代码重构和额外的测试 (#3052, #3020)

  • 从项目根目录移除 auxlib (#2931)

  • 供应商 auxlib 0.0.40 (#2932, #2943, #3131)

  • 供应商 toolz 0.8.0 (#2994)

  • 将 progressbar 移动到 vendor 目录 (#2951)

  • 修复 conda.recipe 以适应 conda-build 的新特性 (#2959)

  • 将捕获的函数移动到 common 模块 (#3083)

  • 将 CHANGELOG 重命名为 md (#3087)

4.1.13 (未发布)#

  • 改进本地依赖信息处理,#2107

  • 显示 pre-link 脚本的警告消息,#3727

  • 安装需要 conda 最低版本 4.3 的包时报错并退出,#3726

  • 修复 conda/install.py 单文件行为,#3854

  • 修复与 python 3.6 发布相关的开放式测试失败,#4167

  • 修复 #3287 4.1-4.2.3 版本中的 activate 覆盖非 conda PATH 更改的问题,#4211

  • 修复 activate.bat 中 python 的相对路径,#4244

4.1.12 (2016-09-08)#

  • 修复 #2837 并行激活时符号链接路径中的 “File exists” 错误,#3210

  • 修复安装包时的 prune 选项,#3354

  • 更改占位符检查以更好地支持长 PATH,#3349

4.1.11 (2016-07-26)#

  • 修复 activate 脚本中的 PS1 备份问题,#3135 通过 #3155

  • 修正 “更全面地处理 binstar_client 中的故障” 的解决方案,#3156

4.1.10 (2016-07-25)#

  • 由于只读文件系统,忽略符号链接失败,#3055

  • 向后移植快捷方式测试,#3064

  • 修复 #2979 $SHELL 变量的重新定义,#3081

  • 修复 #3060 --clone root --copy 异常,#3080

4.1.9 (2016-07-20)#

  • 修复 #3104,添加全局 BINSTAR_TOKEN_PAT

  • 更全面地处理 binstar_client 中的故障

4.1.8 (2016-07-12)#

  • 修复 #3004 URL 的 UNAUTHORIZED 错误(空 binstar token),#3008

  • 修复符号链接环境时覆盖现有重定向快捷方式的问题,#3025

  • 部分恢复无默认快捷方式,#3032, #3047

4.0.11 2016-07-09#

  • 允许从 sysrc 进行 auto_update_conda,#3015 通过 #3021

4.1.7 (2016-07-07)#

  • 在 Windows 上将 msys2 频道添加到 defaults,#2999

  • 修复 #2939 channel_alias 问题;改进离线强制执行,#2964

  • 修复 #2970, #2974 改进处理频道内部的 file:// URL,#2976

4.1.6 (2016-07-01)#

  • 将 exp backoff 的速度从 1 毫秒降至 100 毫秒因子,#2944

  • 将 exp_backoff 的最大时间设置为 ~6.5 秒,#2955

  • 修复 #2914 从 PATH 添加/减去;删除文件夹输出文本,#2917

  • 规范化跨 clone/explicit 的 get_index 行为的使用,#2937

  • 用 normcase 包裹 root 前缀检查,#2938

4.1.5 (2016-06-29)#

  • 更保守的 conda 自动更新 #2900

  • 通过更积极地使用 move_path_to_trash 修复一些权限错误,#2882

  • 修复 #2891 如果使用 allow_other_channels 设置,则会出错的问题,#2896

  • 修复 #2886, #2907 直接从包缓存安装 tarball 的问题,#2908

  • 修复 #2681, #2778 恢复 #2320 锁定行为更改,#2915

4.0.10 (2016-06-29)#

  • 修复 #2846 恢复 UNC 路径的使用;缩短垃圾文件名,#2859 通过 #2878

  • 通过更积极地使用 move_path_to_trash 修复一些权限错误,#2882 通过 #2894

4.1.4 (2016-06-27)#

  • 修复 #2846 恢复 UNC 路径的使用;缩短垃圾文件名,#2859

  • 修复 Windows 上的 exp backoff,#2860

  • 修复 #2845 本地文件仓库的 URL,#2862

  • 修复 #2764 恢复 win 上的完整路径变量;创建到 CONDA_PREFIX 环境变量,#2848

  • 修复 #2754 改进 pip 安装包的列表显示,#2873

  • 更改 root 前缀检测以避免破坏 root activate 脚本,#2880

  • 解决 #2841 向频道配置输出添加最低和最高优先级指示,#2875

  • 向计划指令添加 SYMLINK_CONDA,#2861

  • 使用 CONDA_PREFIX,而不是 CONDA_DEFAULT_ENV 用于 activate.d,#2856

  • 在 win 上使用重定向调用脚本;为 activate 添加更多错误检查,#2852

4.1.3 (2016-06-23)#

  • 确保 conda-env 与 conda 一起自动更新,#2772

  • 使 yaml 布尔值表现得符合大家的期望,#2784

  • 使用 accept-encoding 获取 repodata;首选 repodata.json 而不是 repodata.json.bz2,#2821

  • 额外的集成和回归测试,#2757, #2774, #2787

  • 向打印的信息添加离线模式;在抓取频道时使用离线标志,#2813

  • 在 conda info 中显示 conda-env 版本,#2819

  • 调整频道优先级取代列表,#2820

  • 支持命令行规范中的 epoch ! 字符,#2832

  • 在规范化频道 URL 时接受旧的默认名称和新的默认名称 #2839

  • 将 PATH、PS1 操作推送到 shell 脚本中,#2796

  • 修复 #2765 没有参数的 source activate 损坏的问题,#2806

  • 修复 install.py 的独立执行,#2756

  • 修复 #2810 在 Windows 上的 git bash 中激活 conda 环境损坏的问题,#2795

  • 修复 #2805, #2781 处理基于文件的频道和显式基于文件的 URL,#2812

  • 修复 #2746 conda create --clone of root,#2838

  • 修复 #2668, #2699 使用 activate 的 shell 递归问题 #2831

4.1.2 (2016-06-17)#

  • 改进由于频道优先级导致的 “降级” 的消息传递,#2718

  • 支持 conda config channel append/prepend,处理重复项,#2730

  • 从内部 CLI 代码中移除 --shortcuts 选项,#2723

  • 修复 activate.bat 中路径中空格字符的问题,#2740

  • 修复 #2732 恢复命令行中布尔值的 yes/no/on/off,#2734

  • 修复 #2642 Windows 上的 tarball 安装问题,#2729

  • 修复 #2687, #2697 在 Windows 上创建环境时出现 WindowsError 的问题,#2717

  • 修复 #2710 conda create 中的 link 指令导致 TypeError 的问题,#2715

  • 恢复 #2514, #2695,禁用 .netrc 文件,#2736

  • 恢复 #2281 将进度条打印到终端,#2707

4.1.1 (2016-06-16)#

  • 添加 auto_update_conda 配置参数,#2686

  • 修复 #2669 conda config --add channels 可能遗漏 defaults 的问题,#2670

  • 修复 #2703 如果链接已存在,则忽略 activate 符号链接错误,#2705

  • 修复 #2693 使用旧版本 Anaconda 安装重复包的问题,#2701

  • 修复 #2677 尊重 HTTP_PROXY,#2695

  • 修复 #2680 损坏的 fish 集成,#2685, #2694

  • 修复 conda 永不退出的问题,#2689

  • 修复 #2688 显式文件安装,#2708

  • 修复 #2700 conda list UnicodeDecodeError,#2706

4.0.9 (2016-06-15)#

  • 添加 auto_update_conda 配置参数,#2686

4.1.0 (2016-06-14) 频道优先级#

  • 清理 activate 和 deactivate 脚本,移回 conda repo,#1727, #2265, #2291, #2473, #2501, #2484

  • 用 ruamel_yaml 替换 pyyaml,#2283, #2321

  • 更好地处理频道冲突,#2323, #2369 #2402, #2428

  • 改进使用 conda list 列出 pip 包的功能,#2275

  • 在 BSD 3-clause 许可下重新许可 progressbar,#2334

  • 减少提示中的无关信息量,#2261

  • 添加 --shortcuts 选项以在 windows 上安装快捷方式,#2623

  • 跳过 windows 上的二进制替换,#2630

  • 默认情况下不在 conda list 中显示频道 URL,#2282

  • 包解析器和求解器调整,#2443, #2475, #2480

  • 改进的版本和构建匹配,#2442, #2488

  • 将进度打印到终端而不是 stdout,#2281

  • 验证命令行上给定的版本规范是否有效,#2246

  • 修复在权限异常情况下 try_write 函数的问题,#2301

  • 修复 conda search --spec 错误,#2343

  • 更新 conda 连接的 User-Agent,#2347

  • 移除一些死代码路径,#2338, #2374

  • 修复 http 请求的线程安全问题,#2377, #2383

  • 管理 BeeGFS 硬链接非 POSIX 配置,#2355

  • 防止在删除期间版本降级,#2394

  • 修复 conda info --json,#2445

  • 使用 /usr/bin/env 截断超过 127 个字符的 shebangs,#2479

  • 将包提取到临时目录然后重命名,#2425, #2483

  • 修复 install 中的帮助信息,#2460

  • 修复 sha1 不同时的重新安装错误,#2507

  • 修复文件删除错误,#2499

  • 禁用 .netrc 文件,#2514

  • 不要在 remove --all 时获取索引,#2553

  • 允许 track_features 在 .condarc 中是字符串列表,#2541

  • 修复 #2415 invalid_chains 中的无限递归,#2566

  • 允许 channel_alias 与 binstar 不同,#2564

4.0.8 (2016-06-03)#

  • 修复将文件移动到垃圾箱时可能出现的问题,#2587

4.0.7 (2016-05-26)#

  • boto bug 的解决方法,#2380

4.0.6 (2016-05-11)#

  • 将 “自定义” 版本记录为更新而不是降级,#2290

  • 修复安装/更新时可能发生的 TypeError 异常,#2331

  • 修复在 Windows 上删除长路径名称文件时出现的错误,#2452

4.0.5 (2016-03-16)#

  • 改进了 install、update 和 remove 的帮助文档,#2262

  • 修复了与 Windows 上 conda update 错误相关的 #2229 和 #2250,#2251

  • 修复了 Windows 上 pip 包的 #2258 conda list 问题,#2264

4.0.4 (2016-03-10)#

  • 恢复 #2217 关闭请求会话,#2233

4.0.3 (2016-03-10)#

  • 添加了 conda clean --all 功能,#2211

  • 求解器性能改进,#2209

  • 修复了 windows 上 pip 包的 conda list 问题,#2216

  • 安静了一些 python 3 下包下载的日志记录,#2217

  • 更多 conda list --explicit 的 URL,#1855

  • 为更多包首选 “最新构建”,#2227

  • 修复了依赖关系解析和功能的错误,#2226

4.0.2 (2016-03-08)#

  • 修复了 ~/.condarc 中的 track_features 为列表的问题,另请参阅 #2203

  • 修复了锁定文件错误中的错误路径 #2195

  • 修复了克隆环境的问题,#2193, #2194

  • 修复了功能和版本之间的奇怪交互,#2206

  • 修复了低级别 SAT 子句生成中创建对旧版本的偏好的错误,#2199

4.0.1 (2016-03-07)#

  • 修复了由 md5 校验和不匹配引起的安装问题,#2183

  • 移除 auxlib 构建依赖项,#2188

4.0.0 (2016-03-04) 求解器#

  • 求解器已得到显著改进。在大多数情况下,性能应该得到提高,并且应该解决许多涉及功能冲突的问题。

  • conda update <package> 现在根据 “update_deps” 配置的设置正确处理依赖项:–update-deps:conda 还将根据需要更新任何依赖项,以安装请求包的最新版本。寻求实现此目的所需的最少更改集。–no-update-deps:conda 将在不需要更新依赖项的范围内更新包。之前的行为会更新包而不考虑其依赖项,可能会导致配置损坏,并且已被删除。

  • Conda 终于有了官方徽标。

  • 修复 Windows 上的 conda clean --packages 问题,#1944

  • Conda 子命令现在支持名称中的破折号,#1840

3.19.4 (未发布)#

  • 改进本地依赖信息处理,#2107

  • 使用 install.rm_rf 进行 TemporaryDirectory 清理,#3425

  • 修复 api->conda 替换,#3456

  • 安装需要 conda 最低版本 4.3 的包时报错并退出,#3726

  • 显示 pre-link 脚本的警告消息,#3727

  • 修复静默目录删除问题,#3730

  • 修复 conda/install.py 单文件行为,#3854

3.19.3 (2016-02-19)#

  • 修复关键问题,请参阅 #2106

3.19.2 (2016-02-19)#

  • 为 fish 添加基本 activate/deactivate、conda activate/deactivate/ls,请参阅 #545

  • 移除在 32 位系统上设置 CONDA_FORCE_32BIT 时的错误,#1985

  • 抑制 --unknown 选项的帮助文本,#2051

  • 修复 conda create --clone post-link 脚本的问题,#2007

  • 修复 windows 上的权限问题,#2083

3.19.1 (2016-02-01)#

  • resolve.py:正确转义版本号中的句点,#1926

  • 默认支持 pinning Lua,#1934

  • 移除硬编码的测试 URL,当设置 CIO_TEST 时,现在需要模块 cio_test

3.19.0 (2015-12-17)#

  • OpenBSD 5.x 支持,#1891

  • 改进 install CLI 以使 Miniconda -f 工作,#1905

3.18.9 (2015-12-10)#

  • 允许链接 default_channels(仅适用于 “system” condarc),从 CLI,#1886

  • 改进 conda list 中 --show-channel-urls 的默认值,#1900

3.18.8 (2015-12-03)#

  • 始终尝试删除 rm_rf 中的文件,#1864

3.18.7 (2015-12-02)#

  • 简化对 menuinst.install() 的调用

  • 在 Windows 上添加 menuinst 作为依赖项

  • 将 ROOT_PREFIX 添加到 post-link(和 pre_unlink)环境

3.18.6 (2015-11-19)#

  • 改进用户缺少权限时的 conda clean,#1807

  • 使 show_channel_urls 默认为 True,#1771

  • 更清晰的写入测试,#1735

  • 修复文档,#1709

  • 改进目录不存在时的 conda clean,#1808

3.18.5 (2015-11-11)#

  • 修复错误的 menuinst 异常处理,#1798

  • 为 Windows 上未解决的依赖项添加解决方法

3.18.4 (2015-11-09)#

  • 允许显式文件包含 MD5 哈希值

  • 为 “conda list --explicit” 添加 --md5 选项

  • 停止某些 resolve 操作期间的无限递归,#1749

  • 即使 strictness == 3 也添加依赖项,#1766

3.18.3 (2015-10-15)#

  • 为更高效的求解添加了 pruning 步骤,#1702

  • 不允许将 conda-env 安装到非 root 环境

  • 改进错误命令输入的错误输出,#1706

  • 将 env 名称和 setup cmd 传递给 menuinst,#1699

3.18.2 (2015-10-12)#

  • 添加 “conda list --explicit”,其中包含要安装的所有 conda 包的 URL,并且可以与 install/create --file 选项一起使用,#1688

  • 修复 conda clean 中的潜在问题

  • 避免在 Windows 上 root 环境中更新 Python 时出现 LookupErrors

  • 不要使用 conda remove 从网络获取索引

  • 直接安装 conda 包时,“conda install.tar.bz2”,取消链接具有该名称的任何已安装包(不仅仅是已安装的包)

  • 允许在非 root 环境中安装菜单项,#1692

3.18.1 (2015-09-28)#

  • 修复:删除了 plan 模块中对 win_ignore_root 的引用

3.18.0 (2015-09-28)#

  • 允许在 Windows 上的 root 环境中更新 Python,#1657

  • 在获取 pinned specs 后向 specs 添加 defaults(允许 pinning 与已安装版本不同的 Python 版本)

  • 在 resolve debug 日志中显示解决方案中较旧的版本

  • 修复 Python 3.5 的一些问题

  • 从 .tar 或 .tar.bz2 安装时尊重 --no-deps

  • 避免 NoPackagesFound 和 conda update --all --file 导致的无限递归

  • 修复 conda update --file

  • toposort:添加特殊情况以从 “python” 中移除 ‘pip’ 依赖项

  • 使用 --debug 在提示生成期间显示 dotlog 消息

  • 在提示生成期间禁用 max_only 启发式

  • 新的版本比较算法,它一致地比较任何版本字符串,并更好地处理使用 alpha、beta、rc、post 和 dev 等的版本字符串。这应该消除任何不一致的版本比较,从而导致 conda 安装不正确的版本。

  • 在 rm_rf 中使用 trash,这意味着更多内容将在 Windows 上受益于 trash 系统

  • 添加多次传递 --file 参数的功能

  • 为 conda update 添加 conda upgrade 别名

  • 添加 update_dependencies condarc 选项和 --update-deps/–no-update-deps 命令行标志

  • 允许带有 conda update --all 的 specs

  • 添加 --show-channel-urls 和 --no-show-channel-urls 命令行选项

  • 添加 always_copy condarc 选项

  • conda clean 正确处理多个 envs 目录。这破坏了与某些 --json 输出的向后兼容性。保留了一些旧的 –json 键以实现向后兼容性。

3.17.0 (2015-09-11)#

  • 向 walk_prefix() 添加 windows_forward_slashes 选项,请参阅 #1513

  • 添加设置 CONDA_FORCE_32BIT 环境变量的功能,它应该仅在运行 conda-build 时使用,#1555

  • 添加配置选项以使 pip 上的 python 依赖项成为可选,#1577

  • 修复 UnboundLocalError

  • 在找不到包的错误中打印有关 pinned specs 的注释

  • 允许在 AND 连接的版本规范中使用通配符

  • 将 pinned specs 打印到 debug 日志

  • 修复 conda create --clone 与 create_default_packages 的问题

  • 当找不到给定方案的代理时,给出更好的错误信息

  • 在离线模式下启用运行 ‘conda run’

  • 修复硬链接缓存内容被覆盖的问题

  • 正确跳过其依赖项无法通过 conda update --all 找到的包

  • 在 -m 帮助文本中使用更清晰的术语。

  • 在整个代码库中使用 splitlines 来分解多行

  • 修复 SSLError 的 AttributeError

3.16.0 (2015-08-10)#

  • 重命名 binstar -> anaconda,请参阅 #1458

  • 修复当 conda-bld 目录不存在时 --use-local 的问题

  • 修复使用 “conda create --clone” 时的 --offline 选项,请参阅 #1487

  • 不要屏蔽递归深度错误

  • 添加 conda search --reverse-dependency

  • 在使用 “python install.py --link” 直接链接时,检查硬链接是否可用,请参阅 #1490

  • 安装没有依赖项的包时,不要以非零状态退出

  • 通过 track_features 而不是 features 检查环境中安装了哪些功能

  • 直接在 CondaSession 上设置 verify 标志(修复 conda skeleton 不遵守 ssl_verify 选项的问题)

3.15.1 (2015-07-23)#

  • 修复 conda 与旧版本的 argcomplete 的兼容性

  • 恢复 --force-pscheck 选项作为向后兼容性的空操作

3.15.0 (2015-07-22)#

  • 正确排序 conda info package 的输出

  • 使用 argcomplete 启用 conda 命令扩展的 Tab 补全。导入 conda 的命令扩展应使用 conda.cli.conda_argparse.ArgumentParser 而不是 argparse.ArgumentParser。否则,他们应该手动启用 argcomplete 补全。

  • 允许在 Windows 上的 root 环境中更新 psutil 和 pycosat

  • 移除所有提及 pscheck 的内容。--force-pscheck 标志已被移除。

  • 添加对 S3 频道的支持

  • 修复 Windows 上 conda list 中 pip 的颜色问题

  • 在 Linux 上添加对其他机器类型的支持,特别是 ppc64le

  • 将 non_x86_linux_machines 设置添加到 config 模块

  • 允许 ssl_verify 在 condarc 中接受字符串以及布尔值

  • 使 --set 能够同时使用布尔值和字符串值

3.14.1 (2015-06-29)#

  • 使用 Crypto.Signature.PKCS1_PSS 模块,请参阅 #1388

  • 注意在 unsatisfiable 提示中使用功能时

3.14.0 (2015-06-16)#

  • 添加验证签名包的功能,请参阅 #1343(和 conda-build #430)

  • 修复尝试向旧 python 包添加 ‘pip’ 依赖项时的问题

  • 提供选项 “conda info --unsafe-channels” 以获取未混淆的频道列表,#1374

3.13.0 (2015-06-04)#

  • 通过将文件移动到垃圾目录来避免 Windows 文件锁定,#1133

  • 处理 Environments 补全器中不存在的 env 目录

  • 重命名 binstar.org -> anaconda.org,请参阅 #1348

  • 将 ‘source activate’ 的速度提高约 40%

3.12.0 (2015-05-05)#

  • 正确允许 conda 更新自身

  • 打印导致 Windows 上 “无法删除文件” 错误的文件

  • 添加对 no_proxy 环境变量的支持,#1171

  • 为 unsatisfiable 包添加更快的提示生成,现在始终启用(以前,如果 spec 超过十个,则不会运行)。新提示仅提供一组冲突包,而不是所有组,因此可能需要多次传递才能解决此类问题

  • 导入 conda 的 conda 扩展应使用 conda.cli.conda_argparser.ArgumentParser 而不是 argparse.ArgumentParser,以符合 conda 帮助准则(例如,所有帮助消息都应大写并带有句点,并且选项应以 “Options:” 开头,以便用于 help2man)。

  • 向 conda remove 添加确认对话框。修复 conda remove --dry-run。

3.11.0 (2015-04-22)#

  • 修复 Windows 上强制更新可能导致包损坏的问题

  • 移除可能冲突的正在运行的进程的检测

  • 弃用 --force-pscheck(现在是空操作参数)

  • 使 conda search --outdated --names-only 工作,修复 #1252

  • 更好地处理历史记录文件没有读取或写入权限的情况

  • 使多个包解析警告更易于阅读

  • 向 conda list 添加 --full-name

  • 改进命令帮助

3.10.1 (2015-04-06)#

  • 修复 @memoized 中 unhashable 参数的逻辑

  • 恢复 repodata 的 json 缓存,请参阅 #1249

  • 在 conda info --json 中隐藏 binstar tokens

  • 处理 CIO_TEST='2 ’

  • 始终找到包数量最少的解决方案,即使有很多解决方案

  • 允许在需求文件行的末尾添加注释

  • 在项目完成运行后才更新进度条

  • 添加 conda/到 HTTP 标头 User-Agent 字符串

3.10.0 (2015-03-12)#

  • 更改默认 repo url 为 https

  • 向 conda search 添加 --offline

  • 向 conda search 添加 --names-only 和 --full-name

  • 为 conda search 添加包的 Tab 补全

3.9.1 (2015-02-24)#

  • pscheck:检查当前环境中的进程,请参阅 #1157

  • 如果没有任何更改,则不要写入历史记录文件,请参阅 #1148

  • conda update --all 安装没有版本限制的包(Python 除外),请参阅 #1138

  • conda update --all 忽略 anaconda 元包,请参阅 #1138

  • 在 Windows 上为文件 URL 使用正斜杠

  • 不要从 activate 中符号链接 root 环境中的 conda

  • 在进度条信息中使用正确的包名称

  • 为 unsatisfiable 依赖项提示使用 json 进度条

  • 当下载 gz 文件时,不要让 requests 解码

3.9.0 (2015-02-16)#

  • 从 conda 中移除(反)激活脚本,这些脚本现在位于 conda-env 中

  • pip 现在始终作为 Python 依赖项添加

  • 允许将 conda 安装到以 _ 开头的环境中

  • 为带有 -n 标志的环境以及带有 install、update、create 和 remove 的包名称添加 argcomplete Tab 补全

3.8.4 (2015-02-03)#

  • 从 conda-env 复制(反)激活脚本

  • 添加 noarch(子)目录支持

3.8.3 (2015-01-28)#

  • 简化了在(反)激活中获取 ROOT_PREFIX 的方式

3.8.2 (2015-01-27)#

  • 添加 conda clean --source-cache 以清理 conda build 源代码缓存

  • 在(反)激活 .bat 中添加缺失的引号,修复了在 Windows 上将 conda 安装到带有空格的目录中时出现的问题

  • 修复 conda install --copy

3.8.1 (2015-01-23)#

  • 添加缺失的 utf-8 解码,修复了当 icondata 为 json 文件时的 Python 3 bug

3.8.0 (2015-01-22)#

  • 将活动脚本移至 conda-env,它现在是一个新的依赖项

  • 在使用 concurrent.futures 时,以正确的顺序加载 channel urls

  • 在 conda-meta 目录的 json 文件中添加可选的 ‘icondata’ 键,其中包含 base64 编码的 png 文件或图标

  • 移除一个调试打印语句

3.7.4 (2014-12-18)#

  • 为 install、create、update 和 remove 命令添加 --offline 选项,并添加在 condarc 文件中设置 “offline: True” 的功能

  • 添加 conda uninstall 作为 conda remove 的别名

  • 添加 conda info --root

  • 添加 conda.pip 模块

  • 修复 CONDARC 指向不存在的文件的问题,关闭 issue #961

  • 使 update -f 在软件包已是最新版本时也能正常工作

  • 修复打印错误消息时可能出现的 TypeError

  • 以拓扑排序的顺序链接软件包(以便 pre-link 脚本可以假定依赖项已安装)

  • 为 install 添加 --copy 标志

  • 防止进度条在某些情况下因获取而导致 conda 崩溃

3.7.3 (2014-11-05)#

  • 从本地 conda 包(或包含 conda 包的 tar 文件)安装 conda 时,现在还将安装已安装软件包列出的依赖项。

  • 在 pre-link 子进程中添加 SOURCE_DIR 环境变量

  • 将所有创建的环境记录在 ~/.conda/environments.txt 中

3.7.2 (2014-10-31)#

  • 仅显示一次 binstar 安装消息

  • 在 repodata 获取完成后打印获取 repodata 的点

  • 将 install 和 remove 规范写入历史记录文件

  • 添加 ‘-y’ 作为 ‘–yes’ 的别名

  • conda config 的 --file 选项现在默认为 os.environ.get(‘CONDARC’)

  • 对文档进行了一些改进(–help 输出)

  • 将 user_rc_path 和 sys_rc_path 添加到 conda info --json

  • 缓存代理用户名和密码

  • 避免在 pscheck 中出现关于 conda 的警告

  • 使 ~/.conda/envs 成为第一个用户环境目录

3.7.1 (2014-10-07)#

  • 改进了忘记对 activate 和 deactivate 使用 source 的错误消息,参见 issue #601

  • 不允许删除当前环境,参见 issue #639

  • 如果由于其他原因无法导入 binstar_client,则不要失败,参见 issue #925

  • 允许在 conda run 中包含空格

  • 仅当未安装 binstar 时才显示 conda install binstar 提示

  • conda info package_spec 现在提供关于软件包的详细信息。conda info path 已被移除,因为它与 conda package -w path 重复。

3.7.0 (2014-09-19)#

  • 更快的 --alt-hint 算法

  • 如果 system .condarc 中设置了 allow_other_channels: false,则不允许 channel_alias

  • 不要在使用 update --all 时显示冗长的 “no packages found” 错误

  • 当 binstar 客户端已安装并登录时,自动将 Binstar token 添加到 urls

  • 小心避免显示 binstar token 或将其写入文件

  • 在 conda config 中更仔细地处理类型错误的键

  • 不要期望以 conda- 开头的目录是命令

  • 不再建议在 pip 安装 conda 后运行 conda init。pip 安装的 conda 现在无需初始化即可创建和管理其他环境

  • Windows 上的 rm 函数现在可以解决访问被拒绝错误

  • 修复了当 show_channel_urls 设置为 true 时,channel urls 现在显示在 conda list 中的问题

3.6.4 (2014-09-08)#

  • 修复了移除不再位于 channel 中的软件包的问题

  • 美化了 --alt-hint 的输出

3.6.3 (2014-09-04)#

  • 跳过使用 update --all 无法找到的软件包

  • 为 search 和 remove 添加 --use-local

  • 允许 --use-local 与 -c (–channels) 和 –override-channels 一起使用。--override-channels 现在需要 -c 或 –use-local

  • 允许在 has_prefix 中引用路径,以允许 Windows 上的路径中包含空格

  • 在 Windows 上为 has_prefix 中的前缀保留 Unix 风格的路径分隔符(如果占位符路径使用 /,则将其替换为使用 / 而不是 \ 的路径)

  • 修复了由于 conda-build 中的 API 更改导致的 --use-local 中的 bug

  • 在 conda info -s 中包含用户站点目录

  • 使二进制 has_prefix 替换在带有前缀后的空格的情况下也能工作

  • 使二进制 has_prefix 替换在同一个 null 结尾的字符串中替换占位符的多次出现

  • 不要在 conda search 中将来自其他平台的软件包显示为已安装或已缓存

  • 在 pscheck 中更加小心,不要警告关于 conda 本身

  • 为无法满足的软件包提示生成使用进度条

  • 不要在 try_write 中使用 TemporaryFile,因为它在失败时太慢

  • 当 ssl_verify 为 False 时,忽略 InsecureRequestWarning

  • conda remove 移除 track_features 中已移除软件包跟踪的功能

3.6.2 (2014-08-20)#

  • 为 conda remove 添加 --use-index-cache

  • 修复了一个 bug,其中功能(如 mkl)会被错误地选择

  • 在 Python 3 中使用 concurrent.future.ThreadPool 异步获取软件包元数据。

  • 在每个平台上对 rm_rf 进行重试

  • 为软件包名称拼写错误使用更高的截止值

  • 允许在 “system” .condarc 中更改默认 channel

3.6.1 (2014-08-13)#

  • 在 fetch 模块中为下载添加重试

  • 改进了缺少软件包的错误消息

  • 更健壮的 Windows 上的 rm_rf

  • 正确打印子命令的多行帮助

3.6.0 (2014-08-11)#

  • 正确检查软件包是否可以硬链接(如果尚未提取)

  • 更改软件包计划的打印方式,以更好地显示什么是新的、更新的和降级的

  • 在 resolve 模块中使用 suggest_normalized_version。现在更好地支持 verlib 的 NormalizedVersion 无法直接识别的版本,如 1.0alpha

  • conda run 命令,用于从软件包运行应用程序和命令

  • 更完整的 --json API。现在每个 conda 命令都应完全支持 --json 输出。

  • 在 conda info 中显示 conda_build 和 requests 版本

  • 在 conda list 中包含来自 setup.py develop 的软件包(使用 use_pip)

  • 当历史记录文件无效时,引发警告而不是崩溃

  • 在代理密码上使用 urllib.quote

  • 使 conda search --outdated --canonical 工作

  • 在 conda init 期间锁定 Python 版本

  • 修复在 conda init 期间为 Python 写入的一些元数据

  • 允许在 pinned 文件中添加注释

  • 允许在 Windows 上安装和更新 menuinst

  • 允许 conda create 同时使用 --file 和列出的软件包

  • 更好地处理一些不存在的软件包

  • 修复 conda package 中的命令行标志

  • 修复 ftp 适配器中的 bug

3.5.5 (2014-06-10)#

  • 移除另一个 pycosat 版本检测实例,它在 Windows 上失败,参见 issue #761

3.5.4 (2014-06-10)#

  • 移除 pycosat 版本检测,它在 Windows 上失败,参见 issue #761

3.5.3 (2014-06-09)#

  • 修复 conda update 以正确地不安装已是最新版本的软件包

  • 始终在下载中因连接错误而失败

  • 软件包解析现在更快,并且使用更少的内存

  • 在 condarc 中添加 ssl_verify 选项,以允许忽略 SSL 证书验证,参见 issue #737

3.5.2 (2014-05-27)#

  • 修复 Windows 上的 activate.bat 和 deactivate.bat 中的 bug

3.5.1 (2014-05-26)#

  • 修复代理支持 - conda 现在再次提示输入代理用户名和密码

  • 修复 Windows 上路径中带有空格的 activate.bat

  • 更新可选的 psutil 依赖项已更新至 psutil 2.0 或更高版本

3.5.0 (2014-05-15)#

  • 将 urllib2 的使用替换为 requests。requests 现在是 conda 的硬依赖项。

  • 添加仅允许系统级指定的 channel 的功能

  • 从 conda info 的输出中隐藏 binstar

3.4.3 (2014-05-05)#

  • 允许在二进制文件中替换前缀,参见 issue #710

  • 检查是否可以创建硬链接,否则在安装期间复制

  • 允许循环依赖

3.4.2 (2014-04-21)#

  • conda clean --lock:跳过不存在的目录,修复 #648

  • 修复了空历史记录文件导致崩溃的问题,issue #644

  • 从历史记录文件中移除时区信息,修复了 issue #651

  • 修复了缺少递归依赖项的 PackagesNotFound 错误

  • 更改了从本地软件包缓存添加缓存的默认设置 - known 现在是默认设置,而使用来自本地软件包缓存的索引元数据的选项是 --unknown

  • 添加 --alt-hint 作为获取无法满足的软件包的提示的替代形式的方法

  • 添加 conda package --ls-files 以列出软件包中的文件

  • 添加在环境中 pin 规范的功能。要 pin 规范,请在环境的 conda-meta 目录中添加一个名为 pinned 的文件,其中包含要 pin 的规范。除非使用 --no-pin 标志,否则 pinned 规范始终保持安装状态。

  • 修复了键盘中断外部命令的问题。现在键盘中断 conda build 可以正确移除锁定文件

  • 为 conda 添加 no_link 功能,参见 issue #678

3.4.1 (2014-04-07)#

  • 始终使用与 envs 目录关联的 pkgs 缓存目录,即使在使用 -p 选项时,前缀不是 envs 目录内的任意前缀

  • 将 PYTHONHOME 的设置添加到 conda info --system

  • 跳过具有错误元数据的软件包

3.4.0 (2014-04-02)#

  • 为每个环境添加了修订历史记录

    • conda list --revisions

    • conda install --revision

    • 日志存储在 conda-meta/history 中

  • 允许使用 --file 选项和命令行参数解析 pip 风格的需求文件,例如 conda install ‘numpy>=1.7’,issue #624

  • 修复了当文件不存在时 --file 选项的错误消息

  • 允许在 CONDA_ENVS_PATH 中使用 DEFAULTS,它会扩展到默认设置,包括 condarc 文件

  • 除非明确请求(即,该功能已在该环境中启用),否则不要安装具有功能(如 mkl)的软件包

  • 添加在显示要下载的内容时显示 channel URLs 的功能,通过在 condarc 中设置 “show_channel_urls: True”

  • 修复了 --quiet 选项

  • 跳过具有无法找到的依赖项的软件包

3.3.2 (2014-03-24)#

  • 修复了 --file 选项

  • 在获取元数据之前检查 install 参数

  • 修复了进度条的打印故障

  • 为没有参数的 conda clean 提供更好的错误消息

  • 在搜索另一个平台时,不要包含未知的软件包

3.3.1 (2014-03-19)#

  • 修复 activate 中 PS1 的设置。

  • 添加 conda update --all。

  • 允许设置 CONDARC=’ ’ 以不使用 condarc。

  • 添加 conda clean --packages。

  • 不要在 conda package 中包含 bin/conda、bin/activate 或 bin/deactivate。

3.3.0 (2014-03-18)#

  • 允许新的软件包规范,即 ==、>=、>、<=、<、!= 由 ‘,’ 分隔,例如:>=2.3,<3.0

  • 添加通过在 .condarc 中设置 “self_update: False” 来禁用 conda 自更新的功能

  • 尝试使用旧方法安装软件包,即首先仅安装最高版本的东西。这在方案有效的情况下,大大加快了解决软件包规范的速度。

  • 对于 Python 3 版本的 conda,不要自动在规范中包含 python=3.3。这允许您对仅具有 Python 2 版本的软件包执行 “conda create -n env package”,而无需指定 “python=2”。此更改在 Python 2 中无效。

  • 在 Unix 上,自动将 conda、activate 和 deactivate 的符号链接放入每个环境中。

  • 在 Unix 上,activate 和 deactivate 现在从 PATH 中移除根环境。这应防止在已激活的环境中未安装但在根环境中安装的命令出现 “bleed through” 问题。如果您在 Unix 上安装了 “setup.py develop” conda,则应再次运行此命令,因为 activate 和 deactivate 脚本已更改。

  • 开始支持 Python 3.4 的工作。

  • 修复版本比较中的 bug

  • 修复在 Windows 上的 pythonw 等环境中使用 sys.stdout 和 sys.stderr 的问题,在这些环境中它们是非标准文件描述符。

3.2.1 (2014-03-12)#

  • 修复安装带有非理性版本的软件包

  • 修复 api 中的安装

  • 使用日志处理程序打印点

3.2.0 (2014-03-11)#

  • 在屏幕上打印点以显示进度

  • 将逻辑函数从 resolve 移动到 logic 模块

3.2.0a1 (2014-03-07)#

  • conda 现在在 SAT 求解器中使用伪布尔约束。这允许它一次搜索所有版本,而不仅仅是最新的版本(issue #491)。

  • Conda 包含一个全新的 logic 子模块,用于将伪布尔约束转换为 SAT 子句。

3.1.1 (2014-03-07)#

  • 检查目录是否存在,修复 issue #591

3.1.0 (2014-03-07)#

  • 本地缓存中的软件包现在已添加到索引中,可以使用 --known 选项禁用此功能,该选项仅使 conda 使用来自已知远程 channel 的索引元数据

  • 添加 --use-index-cache 选项以启用使用 channel 索引文件的缓存

  • 修复在 Linux 上以 root 身份安装时的文件所有权

  • conda search:为已提取(缓存)的软件包添加 ‘.’ 符号

3.0.6 (2014-02-20)#

  • 修复 ‘conda update’ 将构建编号考虑在内的问题

3.0.5 (2014-02-17)#

  • 允许从命令行覆盖来自 create_default_packages 的软件包

  • 修复了拼写错误 install.py,issue #566

  • 尝试防止意外安装到非根 conda 环境中

3.0.4 (2014-02-14)#

  • conda update:不要尝试更新已是最新版本的软件包

3.0.3 (2014-02-06)#

  • 提高 clean --lock 的速度

  • 对 conda config 进行了一些修复

  • 添加了更多测试

  • 当有多个解决方案时,选择第一个解决方案而不是最后一个,因为这更可能是您想要的解决方案。

3.0.2 (2014-02-03)#

  • 修复检测前缀是否可写的问题

3.0.1 (2014-01-31)#

  • bug:在 condarc 中没有 track_features 现在再次使用默认值

  • 改进的测试套件

  • 移除在 plan 模块中特殊处理 numpy 版本

  • 如果 post-link.(bat|sh) 失败,则不要将其视为已安装,即它未添加到 conda-meta

  • 如果 CONDA_DEFAULT_ENV 无效,则修复 activate

  • 修复 conda config --get 以再次使用列表键

  • 打印总下载大小

  • 修复了阻止 conda 在 Python 3 中工作的 bug

  • 添加运行 pre-link 脚本的功能,issue #548

3.0.0 (2014-01-24)#

  • 移除了 build、convert、index 和 skeleton 命令,这些命令现在是 conda-build 项目的一部分:conda/conda-build

  • 将 pip 集成限制为 conda list,这意味着 conda install 不再调用 pip install # !!!

  • 添加调用名为 ‘conda-x’ 的子命令的功能

  • conda search 的 -c 标志现在是 --channel 的简写,而不是 –canonical(这与其他 conda 命令一致)

  • 允许使用 CONDARC 环境变量更改 .condarc 文件的位置

  • conda search 现在显示软件包来自的 channel

  • conda search 有一个新的 --platform 标志,用于搜索其他平台中的软件包。

  • 移除 condarc 警告:issue #526#issuecomment-33195012

2.3.1 (2014-01-17)#

  • 添加创建 info/no_softlink 的功能

  • 添加 conda convert 命令以将非平台相关的软件包从一个平台转换为另一个平台(实验性)

  • 统一 create、install 和 update 代码。这为 create 和 update 添加了许多以前仅可用于 install 的功能。一个向后不兼容的更改是 conda create -f 现在意味着 --force,而不是 –file。

2.3.0 (2014-01-16)#

  • 每当 channel 不是 URL 或单词 'defaults' 或 ‘system’ 时,自动将 http://conda.binstar.org/(或 .condarc 文件中 channel_alias 的值)添加到 channel 前面

  • 使用 skeleton pypi 命令制作的 recipe 将使用 setuptools 而不是 distribute

  • 重新设计 setuptools 依赖项和 entry_point 逻辑,以便依赖于 setuptools 的软件包的非 console_script entry_points 将使用 conda skeleton pypi 获得正确的构建脚本

  • 为 conda install 添加 -m, --mkdir 选项

  • 添加禁用软链接的功能

2.2.8 (2014-01-06)#

  • 在构建开始之前添加对 chrpath(在 Linux 上)的检查,参见 issue #469

  • conda build:修复了 Python 3 上无法识别的 ELF 标头

  • 修复了问题:#467, #476

2.2.7 (2014-01-02)#

  • 修复了 conda build 中与并非所有平台上都可用的 lchmod 相关的 bug

2.2.6 (2013-12-31)#

  • 修复了使用 --build-recipe 从 pypi 自动创建 recipe 的测试部分

  • 针对 Linux 上的 conda build 的小 Py3k 修复

  • 将符号链接复制为符号链接,issue #437

  • 修复了在 root 环境中显式安装(例如,来自 conda list -e 的输出)

  • 将 pyyaml 添加到不能从 root 环境中移除的软件包列表中

  • 修复了小问题:#365, #453

2.2.5 (2013-12-17)#

  • conda build:将损坏的软件包移动到 conda-bld/broken

  • conda config:自动添加 ‘defaults’ channel

  • conda build:改进了无效 recipe 目录的错误处理

  • 添加设置构建字符串的功能,issue #425

  • 修复了在 Python 3 下 Linux 上未设置 LD_RUN_PATH 的问题,参见 issue #427,感谢 peter1000

2.2.4 (2013-12-10)#

  • 添加对使用 -m 开关执行的支持(issue #398),即您也可以将 conda 作为 python -m conda 执行

  • 为 Windows 添加 deactivate 脚本

  • conda build 在遇到 egg 时添加 .pth-file (TODO)

  • 添加在使用 build/preserve_egg_dir: True 构建时保留 egg 目录的功能

  • 允许在 ~/.condarc 中使用 track_features

  • 允许任意来源,issue #405

  • 修复了小问题:#393, #402, #409, #413

2.2.3 (2013-12-03)#

  • 添加 “foreign mode”,即在使用 “foreign” Python(例如系统 Python)时,禁止安装某些软件包

  • sdist.sh 创建的源 tarball 中移除 activate/deactivate,以便不覆盖 virtualenvwrapper 中的 activate 脚本

2.2.2 (2013-11-27)#

  • 移除 ARCH 环境变量,以便能够更改架构

  • 在运行 build.sh 时,将 PKG_NAME、PKG_VERSION 添加到环境中,。-post-link.sh 和 。-pre-unlink.sh

2.2.1 (2013-11-15)#

  • 与使 conda 可通过 pip 安装相关的小修复

  • 生成的 conda 元数据缺少 ‘files’ 键,修复 issue #357

2.2.0 (2013-11-14)#

  • 添加 conda init 命令,以允许通过 pip 安装 conda

  • 修复了在 Unix 上 conda build 后前缀被占位符替换的问题

  • 将 ‘use_pip’ 添加到 condarc 配置文件

  • 修复了 Windows 上的 activate 以设置 CONDA_DEFAULT_ENV

  • 允许在 condarc 文件中设置 “always_yes: True”,这意味着在被要求继续时始终使用 --yes 选项

2.1.0 (2013-11-07)#

  • 修复 rm_egg_dirs 以便 .egg_info 文件可以是 zip 文件

  • 改进与 pip 的集成

    • conda list 现在显示 pip 安装的软件包

    • 如果没有可用的 conda 软件包,conda install 将尝试通过 “pip install” 安装(除非提供了 --no-pip)

    • conda build 有一个新的 --build-recipe 选项,它将从 pypi 创建 recipe(存储在/conda-recipes 中),然后构建 conda 软件包(并安装它)

    • pip list 和 pip install 仅在安装了 pip 时发生

  • 增强锁定机制,以便 conda 可以在同一进程中调用自身。

2.0.4 (2013-11-04)#

  • 确保在生成软件包信息时使用小写名称,修复 issue #329

  • 在 Windows 上,处理 .nonadmin 文件

2.0.3 (2013-10-28)#

  • 更新 bundle 格式

  • 修复显示要下载的软件包时的 bug(感谢 Crystal)

2.0.2 (2013-10-27)#

  • 为 clean 命令添加 --index-cache 选项,参见 issue #321

  • 在 Linux 上构建软件包时使用 RPATH(而不是 RUNPATH)

2.0.1 (2013-10-23)#

  • 为 conda skeleton pypi 添加 --no-prompt 选项

  • 将 create_default_packages 添加到 condarc(以及 create 命令的 --no-default-packages 选项)

2.0.0 (2013-10-01)#

  • 添加了用户/root 模式和跨文件系统进行软链接的功能

  • 为复制本地环境添加了 create --clone 选项

  • 修复了安装到尚不存在的环境时的行为,即发生错误

  • 修复 install --no-deps 选项

  • 为 list 命令添加了 --export 选项

  • 允许在 “user mode” 中构建软件包

  • 常规环境位置现在用于构建和测试

  • 添加禁用规范名称的功能

  • 当安装位置为 RO 时,添加从文件读取帮助消息的功能

  • 恢复 conda-api 的 share/clone 的向后兼容性

  • 添加新的 conda bundle 命令和格式

  • 将 ARCH 环境变量传递给构建脚本

  • 为 conda build 的源下载添加进度条,issue #230

  • 为 conda install --file 和 conda create --file 选项添加使用 url 而不是本地文件的功能

1.9.1 (2013-09-06)#

  • 修复了 repodata 索引的新缓存中的 bug

1.9.0 (2013-09-05)#

  • 添加 repodata 索引的缓存

  • 在 Windows 上添加 activate 命令

  • 添加 conda package --which 选项,关闭 issue 163

  • 添加安装包含多个软件包的文件的功能,issue 256

  • 将 conda share 功能移动到 conda package --share

  • 更新文档

  • 改进了外部依赖项不可用时的错误消息

  • 为 issue 194 添加实现:post-link 或 pre-unlink 可能会附加到特殊文件 ${PREFIX}/.messages.txt 以获取消息,这将在 conda 完成所有操作后显示给用户的控制台

  • 添加 conda search --outdated 选项,它仅列出已安装的软件包,这些软件包有更新的版本可用

  • 修复了许多 Py3k 问题,特别是 build 命令中的问题

1.8.2 (2013-08-16)#

  • 添加 conda build --check 选项

  • 添加 conda clean --lock 选项

  • 修复了导致 conda traceback 的 recipe 中的错误,issue 158

  • 修复了 Python 3 中的 conda build 错误,issue 238

  • 改进了测试命令失败时的错误消息,以及 issue 229

  • 禁止在 Windows 上的 root 环境中更新 Python(以及 conda 本身使用的其他软件包)

  • 简化了锁定,特别是当由于权限问题无法创建文件时,锁定永远不应使 conda 崩溃

1.8.1 (2013-08-07)#

  • 修复了没有参数的 conda update,issue 237

  • 修复了在调用 should_do_win_subprocess() 之前设置前缀的问题,issue 235 的一部分

  • 在构建时添加基本 Subversion 支持

  • 为 conda build 添加 --output 选项

1.8.0 (2013-07-31)#

  • 添加 Python 3 支持(感谢 almarklein)

  • 添加从源代码构建时的 Mercurial 支持(感谢 delicb)

  • 允许在 Windows 上的 root 环境中更新 Python(以及 conda 本身使用的其他软件包)

  • 添加 conda config 命令

  • 添加 conda clean 命令

  • 移除了 conda pip 命令

  • 改进锁定以实现更细粒度

  • 使 activate/deactivate 与 zsh 一起工作(感谢 mika-fischer)

  • 允许 conda build 接受包含 recipe 的 tarball 作为参数

  • 将 PKG_CONFIG_PATH 添加到构建环境变量

  • 修复了 entry point 脚本在构建 Python 3 软件包时指向错误 python 的问题

  • 允许 meta.yaml 中的 source/sha1,issue 196

  • 当存在无法满足的软件包规范时,提供更具信息性的消息

  • 能够在 condarc 中设置代理 url

  • conda build 要求上传到 binstar。这也可以通过更改 condarc 中的 binstar_upload 来配置。

  • 如果安装了 argcomplete 软件包,并且将 eval “$(register-python-argcomplete conda)” 添加到 bash profile 中,则提供基本的 Tab 补全功能。

1.7.2 (2013-07-02)#

  • 修复了当软件包包含 post-link 步骤时导致的 conda update 问题,该问题是由 subprocess 被延迟导入引起的,已通过 0d0b860 修复

  • 改进了当 ‘chrpath’ 或 ‘patch’ 未安装且构建框架需要时,提供的错误消息

  • 修复了共享/克隆被破坏的问题(issue 179)

  • 将字符串 LOCKERROR 添加到 conda 锁定错误消息

1.7.1 (2013-06-21)#

  • 修复了当以 .bat 结尾时,在 Windows 上启动应用程序时找不到 “executable” 的问题

  • 从仓库不存在时提供更好的错误消息

1.7.0 (2013-06-20)#

  • 允许 app_entry 中的 ${PREFIX}

  • 在 conda build 完成后添加 binstar 上传信息

1.7.0a2 (2013-06-20)#

  • 添加全局 conda 锁定文件,以仅允许同一时间运行一个 conda 实例

  • 添加 conda skeleton 命令以从 PyPI 创建 recipe

  • 添加运行 post-link 和 pre-unlink 脚本的功能

1.7.0a1 (2013-06-13)#

  • 添加从 “recipe” 构建 conda 软件包的功能,使用 conda build 命令,有关一些示例,请参见:ContinuumIO/conda-recipes

  • 修复了 conda install --force 中的 bug

  • conda update 命令不再使用 anaconda 作为默认软件包名称

  • 添加代理支持

  • 为 conda.api 模块添加应用程序 API

  • 添加 -c/–channel 和 --override-channels 标志 (issue 121)。

  • 添加默认和系统元 channel,用于 .condarc 和 -c 中 (issue 122)。

  • 修复了安装 ipython=0.13.0 的功能 (issue 130)

1.6.0 (2013-06-05)#

  • 更新 package 命令以反映 repodata 中的更改

  • 修复了 share/clone 中的重构 bug

  • 在 Windows 上安装时警告 anaconda 进程正在运行(应修复 Windows 上的大多数权限错误)

1.6.0rc2 (2013-05-31)#

  • 没有参数的 conda 现在打印帮助文本 (issue 111)

  • 不允许从 root 环境中移除 conda

  • conda update python 不再更新到 Python 3,并确保 conda 本身始终安装到 root 环境中 (issue 110)

1.6.0rc1 (2013-05-30)#

  • 主要的内部重构

  • 在 repodata 中使用新的 “depends” 键

  • 使用 pycosat 更有效地解决约束

  • 在 Windows 上添加硬链接

  • 修复了跨文件系统的链接 (issue 103)

  • 添加 conda remove --features 选项

  • 添加了更多测试,特别是针对新的依赖项解析器

  • 添加内部 DSL 以执行安装操作

  • 将软件包大小添加到下载预览

  • 添加 conda install --force 和 --no-deps 选项

  • 修复了 conda help 命令

  • 添加 conda remove --all 选项以移除整个环境

  • 修复了在 sourcing a 给出 “bash” 作为 $0 的系统上 source activate 的问题

  • 将有关已安装版本的信息添加到 conda search 命令

  • 移除了已知的 “locations”

  • 当 update 和 install 不执行任何操作时,添加有关已安装软件包的输出

  • 将 CLI 中提示 y/n 时的默认值更改为 yes

1.5.2 (2013-04-29)#

  • 修复了 issue 59:pkgs 目录不可写时的错误消息错误

1.5.1 (2013-04-19)#

  • 修复了 issue 71 和 (73 duplicate):无法安装以 conda 开头的软件包(例如 ‘conda-api’)

  • 修复了 issue 69(无法更新 Python / NumPy)

  • 修复了 issue 76(无法在 OSX 上安装 mkl)

1.5.0 (2013-03-22)#

  • 添加 conda share 和 clone 命令

  • 为 clone、share 和 info 命令添加(隐藏的)--output-json 选项,以支持 conda-api 软件包

  • 添加 repo 子目录类型 ‘linux-armv6l’

1.4.6 (2013-03-12)#

  • 修复了 channel 选择 (issue #56)

1.4.5 (2013-03-11)#

  • 修复了 meta 软件包的 install 问题 #53

  • 为 update 命令添加 -q/–quiet 选项

1.4.4 (2013-03-09)#

  • 在所有平台上使用 numpy 1.7 作为默认值

1.4.3 (2013-03-09)#

  • 修复了 conda.builder.share.clone_bundle() 中的 bug

1.4.2 (2013-03-08)#

  • 更新的功能选择修复

  • Windows:不允许从 root 环境链接或取消链接 python,因为文件锁定,参见 issue #42

1.4.1 (2013-03-07)#

  • 修复了一些功能选择 bug

  • 永远不要在 activate 和 deactivate 中退出

  • 改进了帮助和错误消息

1.4.0 (2013-03-05)#

  • 修复了 conda pip NAME==VERSION

  • 添加了 conda info --license 选项

  • 添加 source activate 和 deactivate 命令

  • 将旧的 activate 和 deactivate 重命名为 link 和 unlink

  • 添加了环境跟踪 “features” 的功能

  • 添加了通过在 info/index.json 中添加 “file_hash” 元数据字段来区分 conda build 软件包和 Anaconda 软件包的功能

  • 添加 conda.builder.share 模块

1.3.5 (2013-02-05)#

  • 修复了在 Windows 上检测未跟踪文件的问题

  • 移除了对 conda 1.0 版本的向后兼容性

1.3.4 (2013-01-28)#

  • 修复了 conda 将自身安装到环境中的问题 (issue #10)

  • 修复了静默忽略不存在的 channel 的问题 (issue #12)

  • 修复了 ~/.condarc 文件中尾部斜杠导致崩溃的问题 (issue #13)

  • 修复了当 ~/.condarc 文件缺失时 conda list 命令无法工作的问题 (issue #14)

  • 修复了 conda install 命令在 Python 2.6 环境下无法工作的问题 (issue #17)

  • 添加了 remove 命令的初步实现 (issue #11)

  • pip, build 命令:仅打包新的未跟踪文件

  • 允许系统级 <sys.prefix>/.condarc (~/.condarc 优先级更高)

  • 仅当 condarc 文件不存在时才添加 pro 频道(且许可证有效)

1.3.3 (2013-01-23)#

  • 修复 conda create 命令未能正确过滤频道的问题

  • 移除(隐藏)--test 和 --testgui 选项

1.3.2 (2013-01-23)#

  • 修复了具有相同构建编号的软件包反激活问题。请注意,conda upgrade 命令没有此问题,因为它使用了单独的逻辑。

1.3.1 (2013-01-22)#

  • 修复了 conda update 命令不安装新依赖项的错误

1.3.0 (2013-01-22)#

  • 添加了 conda package 命令

  • 添加了 conda index 命令

  • 为 list 和 search 命令添加了 -c, --canonical 选项

  • 修复了 Windows 下 conda --version 命令

  • 添加此变更日志

1.2.1 (2012-11-21)#

  • 消除 conda update 命令的歧义

1.2.0 (2012-11-20)#

  • “conda upgrade” 现在从 AnacondaCE 更新到 Anaconda (移除了 upgrade2pro)

  • 添加 versioneer

1.1.0 (2012-11-13)#

  • Bryan 实现了许多新功能

1.0.0 (2012-09-06)#

  • 初始版本