fitgrid conda (mamba) installation notes - kutaslab/fitgrid GitHub Wiki
Guidance for installing fitgrid into a conda environment depends on what you have and what you want.
There are many factors: Intel vs. AMD CPUs, MKL vs. openblas algebra libraries, linux vs. OSX vs Windows (untested), packages on default conda channels vs. conda-forge, conda vs. mamba package installers.
Pick your poison. The conda installer is slow and left to its own devices (channel_priority=flexible) prefers default channels. The mamba package installer is (much) faster but expects conda-forge channel priority. Package versions on the conda default channels tend to be stable and out of date. Package versions on the conda-forge channel tend to be more current. The more frequent updates make bug fixes and new features available but also trigger more frequent incompatibilities among dependencies. If you don't care for the conda virtual environments, you'll have to work out compatible versions of fitgrid's roughly 250 Python and R dependencies and install them with pip install and install.packages() by hand.
Suggestions:
-
For a basic stable fitgrid environment with primarily conda default channel packages:
conda create -n fg_env fitgrid -c kutaslab -c defaults -c conda-forge -c ejolly
-
To select the development version of fitgrid, replace
-c kutaslab
with-c kutaslab/label/pre-release
. -
When combining fitgrid with other conda packages, the default conda solver w/ default channel priority may grind interminably, particularly if the other packages have extensive conda-forge dependencies. In this case, you might try strict conda-forge channel priority and using mamba (docs here). This approach commits to doing things the conda-forge and mamba way but there may be no alternative.
mamba create -n fg_env fitgrid -c kutaslab -c conda-forge -c defaults -c ejolly --strict-channel-priority
-
MKL vs. openblas. The conda-forge packages have an affinity for openblas libraries and mamba has an affinity for conda-forge. If you have Intel hardware and want to enforce a preference for MKL libraries, you can try installing fitgrid along with the
"blas=*=mkl*"
package specification, e.g.,mamba create -n fg_env fitgrid "blas=*=mkl*" -c kutaslab -c conda-forge -c defaults -c ejolly --strict-channel-priority