def execute(args, parser): import sys import json from os.path import isfile from conda.builder.share import clone_bundle common.ensure_name_or_prefix(args, 'clone') prefix = common.get_prefix(args) path = args.path[0] if not isfile(path): sys.exit("Error: no such file: %s" % path) warnings = [] for w in clone_bundle(path, prefix): if args.json: warnings.append(w) else: print "Warning:", w if args.json: json.dump(dict(warnings=warnings), sys.stdout, indent=2)
def execute(args, parser): import os import sys from os.path import abspath, exists, isfile import conda.plan as plan from conda.api import get_index common.ensure_name_or_prefix(args, "create") prefix = common.get_prefix(args, search=False) if exists(prefix): sys.exit("Error: prefix already exists: %s" % prefix) if args.clone: path = abspath(args.clone) if isfile(path): from conda.builder.share import clone_bundle clone_bundle(path, prefix) return else: from conda.misc import clone_env if os.sep in args.clone: src_prefix = path else: src_prefix = common.find_prefix_name(args.clone) print("src_prefix: %r" % src_prefix) if src_prefix is None: sys.exit("Error: could not find environment: %s" % args.clone) clone_env(src_prefix, prefix) args.yes = True else: if len(args.package_specs) == 0 and not args.file: sys.exit("Error: too few arguments, must supply command line " "package specs or --file") if args.file: specs = common.specs_from_file(args.file) else: specs = common.specs_from_args(args.package_specs) if args.clone and len(specs) == 0: return else: common.check_specs(prefix, specs) channel_urls = args.channel or () common.ensure_override_channels_requires_channel(args) index = get_index(channel_urls=channel_urls, prepend=not args.override_channels) actions = plan.install_actions(prefix, index, specs) if plan.nothing_to_do(actions): print("No matching packages could be found, nothing to do") return print() print("Package plan for creating environment at %s:" % prefix) plan.display_actions(actions, index) common.confirm_yn(args) plan.execute_actions(actions, index, verbose=not args.quiet) activate_name = prefix if args.name: activate_name = args.name print("#") print("# To activate this environment, use:") if sys.platform == "win32": print("# > activate %s" % activate_name) else: print("# $ source activate %s" % activate_name) print("#") print("# To deactivate this environment, use:") print("# $ source deactivate") print("#")