choderalab / espaloma

Extensible Surrogate Potential of Ab initio Learned and Optimized by Message-passing Algorithm 🍹https://arxiv.org/abs/2010.01196
https://docs.espaloma.org/en/latest/
MIT License
213 stars 25 forks source link

Espaloma Installation #222

Closed chabi-fin closed 12 hours ago

chabi-fin commented 2 weeks ago

The docs indicate conda can be used to install espaloma, but I cannot get this to work.

On a device with only CPU I get unresolvable conflicts related to CUDA, while a different device with CUDA installed results in a perpetual loop to resolve conflicts. Is there any alternative to download the package? I'll interested in basic use of the pre-trained Espaloma model to get parameters for a small, charged molecule to run on OpenMM.

mikemhenry commented 2 weeks ago

What error are you getting when you run:

$ mamba create --name espaloma -c conda-forge "espaloma=0.3.2"

Some of the dependencies of espaloma, like dgl, can be tricky to install. If you could also post the output of $ mamba info -a that would also help me troubleshoot this.

chabi-fin commented 1 week ago

Thanks for looking into this Mike.

I don't get any error when running the command, just a loop that continuess for days and the environment is never solved. environment.txt

I do have dgl installed I believe and attach my .yml file for the conda environment so you can check the installed dependencies.

Here is my mamba output:

       libmamba version : 2.0.2
          mamba version : 2.0.2
           curl version : libcurl/8.10.1 OpenSSL/3.3.2 zlib/1.3.1 zstd/1.5.6 libssh2/1.11.0 nghttp2/1.64.0
     libarchive version : libarchive 3.7.4 zlib/1.2.13 liblzma/5.2.6 bz2lib/1.0.8 liblz4/1.9.3 libzstd/1.5.6
       envs directories : /home/lf1071fu/miniconda3/envs/esp/envs
          package cache : /home/lf1071fu/miniconda3/envs/esp/pkgs
                          /home/lf1071fu/.mamba/pkgs
            environment : base (active)
           env location : /home/lf1071fu/miniconda3/envs/esp
      user config files : /home/lf1071fu/.mambarc
 populated config files : /home/lf1071fu/.condarc
       virtual packages : __unix=0=0
                          __linux=6.1.0=0
                          __glibc=2.36=0
                          __archspec=1=x86_64_v3
               channels : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
       base environment : /home/lf1071fu/miniconda3/envs/esp
               platform : linux-64
mikemhenry commented 1 week ago

Happy to help!

Ah,

channels:
  - pytorch
  - dglteam
  - nvidia
  - conda-forge
  - defaults

this is kinda a recipe for disaster, mixing channels like that can cause ABI issues, you should only need

https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch

Since even mixing in the defaults from anaconda.com can cause problems.

I know it might hang, but can you send out what does print when you run

mamba create --name espaloma -c conda-forge "espaloma=0.3.2"

I want to make sure that that command only uses conda-forge and doesn't load what other channels you might have in /home/lf1071fu/.condarc or /home/lf1071fu/.mambarc

chabi-fin commented 1 day ago

So I've installed mamba and the installation works now! Woohoo!

Running $ conda create --name espaloma -c conda-forge "espaloma=0.3.2" puts me in an endless loop or a rabbit hole of unresolvable conflicts, while $ mamba create --name espaloma -c conda-forge "espaloma=0.3.2" works quite quickly.

Thanks for the help! You might consider adding a comment about using mamba on the installation page, this tip worked well for me.

mikemhenry commented 7 hours ago

I do have a note here: https://github.com/choderalab/espaloma?tab=readme-ov-file#installation but I just noticed the doc page is out of date: https://docs.espaloma.org/en/latest/install.html

Thanks for letting me know!