Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

compatibility fixes for conda 23.9 and conda-libmamba-solver 23.9 #2878

Merged
merged 5 commits into from
Oct 2, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 17 additions & 12 deletions mamba/mamba/mamba.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,7 @@
# create support
from conda.base.constants import ChannelPriority, DepsModifier, UpdateModifier
from conda.base.context import context
from conda.cli.common import (
check_non_admin,
confirm_yn,
ensure_name_or_prefix,
specs_from_url,
)
from conda.cli.common import check_non_admin, confirm_yn, specs_from_url
from conda.cli.install import check_prefix, clone, get_revision
from conda.cli.main import generate_parser, init_loggers
from conda.common.compat import on_win
Expand Down Expand Up @@ -239,8 +234,11 @@ def install(args, parser, command="install"):
solver_task = api.SOLVER_UPDATE
solver_options.clear()

if newenv:
ensure_name_or_prefix(args, command)
if newenv and not (args.name or args.prefix):
raise CondaValueError(
"either -n NAME or -p PREFIX option required,\n"
'try "mamba %s -h" for more details' % command
)
prefix = context.target_prefix
if newenv:
check_prefix(prefix, json=context.json)
Expand Down Expand Up @@ -802,9 +800,16 @@ def configure_parser_repoquery(sub_parsers):
import argparse
from argparse import SUPPRESS

p = sub_parsers.add_parser(
"repoquery", description=descr, help=help_cli, epilog=example
)
try:
p = sub_parsers.add_parser(
"repoquery", description=descr, help=help_cli, epilog=example
)
except argparse.ArgumentError as exc:
if "conflicting subparser" in str(exc):
# conda-libmamba-solver's repoquery is already registered
return
raise

subsub_parser = p.add_subparsers(dest="subcmd")
package_cmds = argparse.ArgumentParser(add_help=False)
package_cmds.add_argument("package_query", help="the target package")
Expand Down Expand Up @@ -880,7 +885,7 @@ def _wrapped_main(*args, **kwargs):
context.__init__(argparse_args=parsed_args)
context.__initialized__ = True

init_loggers(context)
init_loggers()
result = do_call(parsed_args, p)
exit_code = getattr(
result, "rc", result
Expand Down