Automatminer installation problems

I have been going through the 2020 workshop tutorials and was intrigued by automatminer. I am using centos 7.9.2009 and miniconda. I am basically only using pymatgen and friends so I am not using a virtual environment. I have been using pymatgen for a while with no problems and for that matter, matminer, pymatgen-db, and pymatgen-diffusion as well.

Name Version Build Channel

pymatgen 2020.1.28 py38hc9558a2_1 conda-forge/label/cf202003
pymatgen-db 2019.3.28 py38h81c977d_3 conda-forge
pymatgen-diffusion 2020.10.8 pyh9f0ad1d_0 conda-forge

I note that the installation instructions for automatminer do not include an anaconda install, but suggest using pip. My attempt to install automatminer via “pip install --ignore-installed automatminer” leads to some errors:

… (long requirements report)
Installing collected packages: six, urllib3, ruamel.yaml.clib, pytz, python-dateutil, pyparsing, pillow, numpy, mpmath, kiwisolver, idna, decorator, cycler, chardet, certifi, tabulate, sympy, spglib, scipy, ruamel.yaml, retrying, requests, pydispatcher, pandas, palettable, packaging, networkx, monty, matplotlib, joblib, update-checker, tqdm, stopit, scikit-learn, pymongo, pymatgen, plotly, pint, future, deap, tpot, skrebate, pyyaml, matminer, automatminer

ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

crystal-toolkit 2021.1.9 requires pymatgen<2021.0.0,>=2020.9.14, but you have pymatgen 2020.1.28 which is incompatible.

Successfully installed automatminer-1.0.3.20200727 certifi-2020.12.5 chardet-4.0.0 cycler-0.10.0 deap-1.3.1 decorator-4.4.2 future-0.18.2 idna-2.10 joblib-1.0.1 kiwisolver-1.3.1 matminer-0.6.2 matplotlib-3.3.4 monty-2021.3.3 mpmath-1.2.1 networkx-2.5 numpy-1.20.1 packaging-20.9 palettable-3.3.0 pandas-1.2.3 pillow-8.1.2 pint-0.17 plotly-4.14.3 pydispatcher-2.0.5 pymatgen-2020.1.28 pymongo-3.11.3 pyparsing-2.4.7 python-dateutil-2.8.1 pytz-2021.1 pyyaml-5.3.1 requests-2.25.1 retrying-1.3.3 ruamel.yaml-0.16.13 ruamel.yaml.clib-0.2.2 scikit-learn-0.22.2 scipy-1.6.1 six-1.15.0 skrebate-0.6 spglib-1.16.1 stopit-1.1.2 sympy-1.7.1 tabulate-0.8.9 tpot-0.11.0 tqdm-4.59.0 update-checker-0.18.0 urllib3-1.26.4

I believe I have installed the latest version of pymatgen, so I am confused about the requirements above. A quick check of my pymatgen shows

In [1]: import pymatgen as mg

In [2]: mg.version

Out[2]: ‘2020.1.28’

I tried uninstalling and installing pymatgen from anaconda and I am thus sure I have the latest version installed. What is the reason for the version number appearing

I should add that if I attempt to install using “pip install automatminer”, pip is confused by pyYaml

Found existing installation: PyYAML 5.3.1

ERROR: Cannot uninstall ‘PyYAML’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. In an attempt to determine what was going on I tried “pip install --ignore-installed PyYAML” and discovered

Installing collected packages: PyYAML

ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

automatminer 1.0.3.20200727 requires pyyaml==5.1.2, but you have pyyaml 5.4.1 which is incompatible.

Successfully installed PyYAML-5.4.1

Does this mean that automatminer is incompatible with newer versions of pyyaml? Any suggestions on how to actually install automatminer (on Centos 7)?

Thanks for any help!

An update. I made a pymatgen virtual environment using “conda create --name my_pymatgen python” and then tried “pip install automatminer”. The installation process worked to the end. I guess I must have had some conflicts with packages I had installed earlier in conda (although I really only use conda for pymatgen ,fireworks, etc.).

Thanks for reporting this. @ardunn can you make sure the version dependencies for pymatgen are correct in setup.py and requirements.txt? Also is dependabot set up to update periodically?

@Anubhav_Jain yes, I am working on getting everything working with the newest matminer and pymatgen. Dependabot is set up but I haven’t merged a lot in from it yet