Hi,
I’m having problems with new mp-api and can’t get it to even import the client. Here is a clean example:
(base) MacBookPro:code_venvs ajain$ python3 -m venv test_api
(base) MacBookPro:code_venvs ajain$ cd test_api/
(base) MacBookPro:test_api ajain$ source bin/activate
(test_api) (base) MacBookPro:test_api ajain$ pip install mp_api
…
(also deactivate conda base env)
(test_api) MacBookPro:test_api ajain$ python
Python 3.11.4 (main, Jul 5 2023, 08:41:25) [Clang 14.0.6 ] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
from mp_api.client import MPRester
Traceback (most recent call last):
File “”, line 1, in
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/init.py”, line 8, in
from .mprester import MPRester
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/mprester.py”, line 30, in
from mp_api.client.routes.materials import (
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/routes/materials/init.py”, line 23, in
from .similarity import SimilarityRester
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/routes/materials/similarity.py”, line 6, in
from emmet.core.similarity import (
ImportError: cannot import name ‘_vector_to_hex_and_norm’ from 'emm
Trying to update emmett does not help …
Hey @Anubhav_Jain could you try pip install mp_api==0.45.15? There was an issue with dependencies in 0.45.14
Unfortunately, I still get the same error
(test_api) computron:test_api ajain$ pip install mp_api==0.45.15
…
(test_api) computron:test_api ajain$ python
Python 3.11.4 (main, Jul 5 2023, 08:41:25) [Clang 14.0.6 ] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
from mp_api.client import MPRester
Traceback (most recent call last):
File “”, line 1, in
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/init.py”, line 8, in
from .mprester import MPRester
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/mprester.py”, line 30, in
from mp_api.client.routes.materials import (
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/routes/materials/init.py”, line 23, in
from .similarity import SimilarityRester
File “/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/mp_api/client/routes/materials/similarity.py”, line 6, in
from emmet.core.similarity import (
ImportError: cannot import name ‘_vector_to_hex_and_norm’ from ‘emmet.core.similarity’ (/Users/ajain/Documents/code_venvs/test_api/lib/python3.11/site-packages/emmet/core/similarity.py)
With a clean install, it was working without issue for me:
conda create -n ex python==3.12 --yes
conda activate ex
pip install mp_api==0.45.15
python -c 'from mp_api.client import MPRester ; mpr = MPRester()'
You may just need to bump emmet-core: pip install emmet-core==0.86.2
Just tried again and it seems to work now, thanks!