Hello,
I am working with a large set of code and the Schrodinger 2021u4 python interpreter so I cannot include all of the files for reproducibility (I do not have the Schrodinger modules, hence the interpreter use and the package compatibility issues), my apologies.
I've pinpointed the issue, but not a viable solution and hope to both point out a version compatibiltity issue which would require python>=3.9 restriction over python>=3.8 as well as ask for your suggestions regarding a solution.
Schrodinger 2021.u4 is based on python 3.8. parmed currently only requires 3.8+ but it uses functools.cache in modeller/standardtemplates.py, thus according to my searching parmed is incompatible with python 3.8 because functools.cache is only available from python3.9+.
If I would like to resolve this issue, what version of parmed could I revert to?
Additionally, I am having to create an egg in order for the Schrodinger interpreter to play nice with any other modules I need to use in my code (github repo Q2MM/q2mm seminario branch in the seminario.py script). Thus, I cannot just use the conda package, I have to clone down the github, modify setup.py, and then build my egg so if you could include a commit or github repo ssh address for download of the last python3.8 compatible version of parmed I would be very grateful.
For error context:
$SCHRODINGER/run ../../../q2mm/seminario.py -i theo-tsnadhm06.frcmod -o out.frcmod -m theo-tsnadhm06.mol2 -gl theo-tsnadhm06.log
^ The command to run the seminario script once schrodinger module is loaded.
Traceback (most recent call last): File "./../../../q2mm/seminario.py", line 19, in <module> import parmed File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/__init__.py", line 24, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/amber/__init__.py", line 11, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/amber/amberformat.py", line 13, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/formats/__init__.py", line 9, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/formats/mol2.py", line 10, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/modeller/__init__.py", line 11, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/modeller/standardtemplates.py", line 6, in <module> ImportError: cannot import name 'cache' from 'functools' (/opt/crc/s/schrodinger/2021u4/internal/lib/python3.8/functools.py)
Again, my apologies for the lack of files and code included, I hope I have included enough so that someone with Schrodinger license and access to github (my repo is public) can reproduce, but I tried to pinpoint the problem and explain it such that it doesn't require much debug work.
Thank you!
Mikaela
UPDATE:
Wanted to include results of my git blame:
7ba559f (Jason Swails 2023-09-12 10:04:46 -0400 6) from functools import cache
Hello,
I am working with a large set of code and the Schrodinger 2021u4 python interpreter so I cannot include all of the files for reproducibility (I do not have the Schrodinger modules, hence the interpreter use and the package compatibility issues), my apologies.
I've pinpointed the issue, but not a viable solution and hope to both point out a version compatibiltity issue which would require python>=3.9 restriction over python>=3.8 as well as ask for your suggestions regarding a solution.
Schrodinger 2021.u4 is based on python 3.8. parmed currently only requires 3.8+ but it uses functools.cache in modeller/standardtemplates.py, thus according to my searching parmed is incompatible with python 3.8 because functools.cache is only available from python3.9+.
If I would like to resolve this issue, what version of parmed could I revert to?
Additionally, I am having to create an egg in order for the Schrodinger interpreter to play nice with any other modules I need to use in my code (github repo Q2MM/q2mm seminario branch in the seminario.py script). Thus, I cannot just use the conda package, I have to clone down the github, modify setup.py, and then build my egg so if you could include a commit or github repo ssh address for download of the last python3.8 compatible version of parmed I would be very grateful.
For error context:
$SCHRODINGER/run ../../../q2mm/seminario.py -i theo-tsnadhm06.frcmod -o out.frcmod -m theo-tsnadhm06.mol2 -gl theo-tsnadhm06.log^ The command to run the seminario script once schrodinger module is loaded.
Traceback (most recent call last): File "./../../../q2mm/seminario.py", line 19, in <module> import parmed File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/__init__.py", line 24, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/amber/__init__.py", line 11, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/amber/amberformat.py", line 13, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/formats/__init__.py", line 9, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/formats/mol2.py", line 10, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/modeller/__init__.py", line 11, in <module> File "<frozen zipimport>", line 259, in load_module File "/afs/crc.nd.edu/user/m/mfarrugi/tools-repo/ParmEd/dist/ParmEd-4.1.0+4.g7ba559fc.dirty-py3.8-linux-x86_64.egg/parmed/modeller/standardtemplates.py", line 6, in <module> ImportError: cannot import name 'cache' from 'functools' (/opt/crc/s/schrodinger/2021u4/internal/lib/python3.8/functools.py)Again, my apologies for the lack of files and code included, I hope I have included enough so that someone with Schrodinger license and access to github (my repo is public) can reproduce, but I tried to pinpoint the problem and explain it such that it doesn't require much debug work.
Thank you!
Mikaela
UPDATE:
Wanted to include results of my git blame:
7ba559f (Jason Swails 2023-09-12 10:04:46 -0400 6) from functools import cache