diff --git a/bob/devtools/bootstrap.py b/bob/devtools/bootstrap.py index 21436df093ca051680c5f15c3c585556c2586f95..8b38aced6bbf926347a5e323307087e405f86476 100644 --- a/bob/devtools/bootstrap.py +++ b/bob/devtools/bootstrap.py @@ -80,7 +80,7 @@ def get_env_directory(conda, name): return None -def conda_create(conda, name, overwrite, condarc, packages, dry_run): +def conda_create(conda, name, overwrite, condarc, packages, dry_run, use_local): specs = [] for k in packages: @@ -104,9 +104,12 @@ def conda_create(conda, name, overwrite, condarc, packages, dry_run): raise RuntimeError('environment `%s\' exists in `%s\' - use ' '--overwrite to overwrite' % (name, envdir)) - cmd = [conda, 'create', '--yes', '--name', name] + sorted(specs) + cmd = [conda, 'create', '--yes', '--name', name] if dry_run: - cmd.insert(2, '--dry-run') + cmd.append('--dry-run') + if use_local: + cmd.append('--use-local') + cmd.extend(sorted(specs)) logger.debug('$ ' + ' '.join(cmd)) status = subprocess.call(cmd) if status != 0: diff --git a/bob/devtools/scripts/bootstrap.py b/bob/devtools/scripts/bootstrap.py index 1f5400c521b2635aa8d6824e27beaa6d154c6749..07d9f14477e21639170cfb0b04ae2ff6b8718f88 100644 --- a/bob/devtools/scripts/bootstrap.py +++ b/bob/devtools/scripts/bootstrap.py @@ -76,10 +76,12 @@ Examples: help='Only goes through the actions, but does not execute them ' \ '(combine with the verbosity flags - e.g. ``-vvv``) to enable ' \ 'printing to help you understand what will be done') +@click.option('--use-local', default=False, + help='Allow the use of local channels for package retrieval') @verbosity_option() @bdt.raise_on_error def bootstrap(name, recipe_dir, python, overwrite, condarc, config, - append_file, docserver, dry_run): + append_file, docserver, dry_run, use_local): """Creates a development environment for a recipe It uses the conda render API to render a recipe and install an environment @@ -117,5 +119,5 @@ def bootstrap(name, recipe_dir, python, overwrite, condarc, config, conda_config = make_conda_config(config, python, append_file, condarc) deps = parse_dependencies(recipe_dir, conda_config) - status = conda_create(conda, name, overwrite, condarc, deps, dry_run) + status = conda_create(conda, name, overwrite, condarc, deps, dry_run, use_local) click.echo('Execute on your shell: "conda activate %s"' % name)