mogroupumd / aimd

MIT License
39 stars 22 forks source link

ItemsView object does not support indexing #7

Open sthartman opened 4 years ago

sthartman commented 4 years ago

Hello, I have installed the AIMD package in a virtual environment according to the instructions, but running either of the tests fails with the error:

Traceback (most recent call last): File "/work/04391/tg836903/stampede2/atomate/atomate_env/bin/analyze_aimd", line 11, in load_entry_point('aimd==0.1', 'console_scripts', 'analyze_aimd')() File "/work/04391/tg836903/stampede2/atomate/atomate_env/lib/python3.6/site-packages/aimd-0.1-py3.6.egg/aimd/script/analyze_aimd.py", line 321, in main File "/work/04391/tg836903/stampede2/atomate/atomate_env/lib/python3.6/site-packages/aimd-0.1-py3.6.egg/aimd/script/analyze_aimd.py", line 156, in Analyze_arrhenius File "/work/04391/tg836903/stampede2/atomate/atomate_env/lib/python3.6/site-packages/aimd-0.1-py3.6.egg/aimd/diffusion.py", line 570, in get_conversion_factor TypeError: 'ItemsView' object does not support indexing

specjanecer commented 4 years ago

I have that questions too!

sthartman commented 4 years ago

@specjanecer it looks like it's a Python 3 compatibility issues, I was able to fix it by editing line 570 of diffusion.py to read

el, occu = list(structure.composition.items())[0]

and then re-running the install process.

ws517037749 commented 4 years ago

Thank Sthartman for solving the compatibility problem.

Besides, this is python version problem, our AIMD code is compatible with Python2 and Pymatgen version before 2019, I suggest usage of executable binary as a temporary solution: https://github.com/mogroupumd/aimd/releases.

We will upgrade it later.

@specjanecer it looks like it's a Python 3 compatibility issues, I was able to fix it by editing line 570 of diffusion.py to read

el, occu = list(structure.composition.items())[0]

and then re-running the install process.