-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python 3.12 Support #1915
Comments
First of all, compatibility with the latest numpy and scipy, I think. I think there were some changes to installation too. @atbogetti, do you know? help would be great. Thanks. Just remember to keep back compatibility with python 3.9 and 2.x Are you sure you can’t get earlier python with anaconda? Lots of things don’t support python 3.11 or 3.12 yet. |
I am having compatibility issues when trying to install ProDy and MDAnalysis in the same Anaconda environment, as downgrading all of the mutual dependencies causes one or the other to not work correctly. I would greatly appreciate a version that can use the more recent releases of numpy, scipy, biopython, etc. |
Could you maybe use an older version of mdanalysis? |
Yes, that solved the issue quite quickly! |
Great. Glad to hear |
@xavierholt @jamesmkrieger me and @sforli took a look and the C extension |
It looks like this is a problem is several of the C extensions, not just dynamics/rtbtools. The following header is found in dynamics/rtbtools, dynamics/smtools, sequence/msaio, sequence/msatools and sequence/seqtools: |
this isn't the problem per se. What it does it masks a warning and the warning says to add it to do so |
It looks like the problem is that there's a new numpy C API that we need to use instead. The old one has been deprecated for a while but I guess it's now completely removed in the new versions @SHZ66, do you think you could have a look at it please? |
You're absolutely right that the only problem is with rtbtools and there's a particular function dblock_projections2. If I comment this function out then everything compiles files. Whether it runs fine (excluding RTB) is another question of course |
The error is with the the first line of the function that declares the variables and then we get errors that they are undeclared and after that errors with their use |
ok! I fixed it!!! The problem was that the name |
ok, now I have managed to fix some other issues with missing modules like imp too |
now all the checks are passing in python 3.12 too! |
This is great! Is there anything I can do to help with testing? |
more testing is always helpful, I guess. If you could try installing it and running a few things, that would be great. Thanks |
I've been able to build your branch with Numpy 1.26.4 in both Ubuntu 22.04 (Python 3.10) and Ubuntu 24.04 (Python 3.12). That works flawlessly. I'm running into issues trying to run the test suite afterward, though. When I run
And three variations of this error:
Do you have any suggestions for working around this? I'm running in a virtual environment with the dependencies installed via |
Have you done the “python setup.py --build_ext”step? It looks like you’re missing the C/C++ extensions. We had a similar problem of the test suite not finding them, but I think it was with nose not pytest |
I've been running |
Ah! I got past it - the GitHub workflow scripts had the hint I needed. The |
Ah ok. Good to know |
Is there a plan to support Python 3.12?
Ubuntu 24.04 is out now, and it only comes with Python 3.12; none of the older Python versions are available in the official APT repos. It would be great if I could install ProDy on a new Ubuntu box, but I've seen several comments to the effect that it isn't compatible with Python 3.12 (and my attempts to install it via
pip
have all failed with some sort of build system error).I might be able to help out with this - is there a list of changes that would be required for 3.12 support?
The text was updated successfully, but these errors were encountered: