Lsstinstall available for beta test

The lsstinstall tool, which creates conda environments for installing the LSST Science Pipelines, is now available for beta testing. It will eventually replace the newinstall tool, but during this beta test period both are still available.

If you have any questions about or experience any problems with lsstinstall, please post in the Support category, file a Jira ticket, or ask in the #dm-build-problems Slack channel.

After this user beta testing period and an RFC, uses of newinstall in the release process, container builds, and documentation are expected to be converted to lsstinstall.

To use lsstinstall:

$ curl -LO
$ bash lsstinstall

Differences from newinstall:

  • It uses mambaforge rather than miniconda, giving much faster environment solutions and installations. (5 minutes vs. more than 60 currently on CentOS.)
  • It generates a script that can be used in any non-csh-based shell (at least those supported by conda). loadLSST.bash can still be used (it is a link). csh/tcsh remain unsupported.
  • It can be used for any conda-based LSST Science Pipelines release (anything after w_2020_20), so there is no need to use a release-specific script. The main version should be used in all cases.
  • It can install the latest rubin-env version, the version for a given release, or the exact dependency versions that were used to build a given release (e.g. for production purposes).
  • Multiple rubin-env versions can be maintained in the same directory using different environment names. The environment name can be passed to User-customized environments can be used (but the user must ensure compatibility).
  • After sourcing, users can do so again to get a different environment and corresponding LSST Science Pipelines packages. (Using a fresh shell may still be useful to ensure cleanliness.)
  • LSST Science Pipelines packages are installed in an eups stack within the conda environment to ensure proper dependencies.
Usage: lsstinstall [-n]
       [-e ENV_NAME] [-u] [-P CONDA_PATH] [-E EUPS_URL]
       [-B] [-S] [-h]
    Installs the Rubin software conda environment.
    Enables the eups distrib install command for Science Pipelines packages.
    -n  -- No-op.  Echo commands instead of running.
        -- Select the rubin-env version used to build the given EUPS_TAG.
        -- Select the exact environment used to build the given EUPS_TAG.
        -- Select a particular rubin-env version (default=latest).
    -e ENV_NAME
        -- Specify the environment name to use; if it exists, assume that
           it is compatible and should be used.
    -u  -- Update rubin-env in an existing environment to the latest build.
        -- Use an existing conda installation (default=create a new one).
           If a conda is activated, it will be used, ignoring this option.
        -- Select a different EUPS distribution server root URL
    -B  -- DO NOT use binary "tarball" eups packages.
    -S  -- DO NOT use source eups packages.
    -b  -- ignored for backward compatibility.
    -c  -- ignored for backward compatibility.
    -t  -- ignored for backward compatibility.
    -h  -- Display this help message.

An update: as of 2022-02-10, the current version of lsstinstall has changed the meaning of the -P option and added a -p option to replace it.

        -- Specify the path to the conda installation.
           If a conda installation already exists there, it will be used.
           If it does not exist, it will be created.
           If a conda is activated, it will be used, ignoring this option.
-P  -- DO NOT use an existing activated conda; always install a new one.

In addition, the command line argument that used to be accepted by the file output by lsstinstall has now been removed, as it was causing problems when loadLSST was included in other scripts. Instead, the conda environment to be initialized by loadLSST can be specified using the LSST_CONDA_ENV_NAME environment variable if the default of the first environment created using lsstinstall is not desired.

Another update: as of 2022-03-28, the current version of lsstinstall has added a -C option to allow one or more additional conda channels to be specified. In particular, this allows a development channel such as conda-forge/label/rubin-env_dev to be added. The conda-forge channel will now always be included explicitly, overriding settings in .condarc.

        -- Use the given conda channel before the conda-forge channel.
           May be repeated; first has highest priority.