I needed to update emirge to get it to work in my development environments on Quartz and Lassen. There are a collection of issues on those platforms when trying to have and work on multiple versions of mirgecom on both Quartz and Lassen. Machines at Livermore share home directories. Emirge@master will currently either stomp your conda installation between the two machines, or simply fail at conda time when it detects the installed conda for the other platform.
These changes have been tested a lot on Quartz and Lassen in the context of having a few different installs of mirgecom which have different dependency chains.
This PR updates emirge to allow:
User choice to skip conda installation
Allow user-specified path to conda environment
Adds option --env-path=DIR
Install script creates/installs to environment at path=DIR, instead of dgfem
defaults to behavior of emirge@master
Specification of base-level conda + pip packages
Adds option --config-path=DIR
Install script looks for config_path/{conda_packages.txt, pip_packages.txt}
Defaults to emirge/config_packages directory
Allow user to install mirgecom to a specified path
--install-prefix=DIR
mirgecom and all of its dependencies installed to DIR
DIR/config is created with reference info:
contents of (config_path), so the user can know which packages emirge installed into the base env
version.sh script (from emirge@master)
update-packages script (from emirge@master)
conda_env.txt indicating which conda environment to load for working on mirgecom installation in DIR
A nice side-effect of these changes is that a single checkout of emirge can be used to install several self-manageable versions of mirgecom with disparate configurations.
I needed to update emirge to get it to work in my development environments on Quartz and Lassen. There are a collection of issues on those platforms when trying to have and work on multiple versions of mirgecom on both Quartz and Lassen. Machines at Livermore share home directories. Emirge@master will currently either stomp your conda installation between the two machines, or simply fail at conda time when it detects the installed conda for the other platform.
These changes have been tested a lot on Quartz and Lassen in the context of having a few different installs of mirgecom which have different dependency chains.
This PR updates emirge to allow:
A nice side-effect of these changes is that a single checkout of emirge can be used to install several self-manageable versions of mirgecom with disparate configurations.