-
Notifications
You must be signed in to change notification settings - Fork 230
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
Upgrading to Python 3.11 #2635
Upgrading to Python 3.11 #2635
Conversation
This pull request is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant pull request, otherwise it will automatically be closed in 30 days. |
force higher version of Python to see which packages we need to rebuild
I just rebased this, to see what would happen. It sounds like getting past Python 3.7 is needed for #2640 etc. |
Thanks! Currently the runners are not providing any useful info, I think because Manually checking makes me think that we will definitely need to deal with these:
|
I fixed our existing recipe for symmetry on ReactionMechanismGenerator/conda-recipes#18 but forgot about this more updated version - do we want to stick with the existing or try the new one? |
If you got ours working again then maybe we change one thing at a time, and stick with it for now? If someone wants to look into why the other might be better, that's great, but IMHO should not impede other progress or become a pre-requisite to things. |
Try relaxing Cantera to >=2.6 ? |
You were right @rwest this was part of the issue! |
A manual scroll through the anaconda repo list shows that a ton of packages are missing 3.12, so we can go ahead and give up on that for now... |
The good news is that the solver finally spat out something useful, in this case the following conflicts for the 3.11 environment on linux without our packages:
|
Ok so the new problem is I'm going to comment out
Might need to require people to build it themselves... |
Latest problems:
|
I've started an issue on the conda feedstock for rdl asking to support the latest versions of Python: conda-forge/ringdecomposerlib-feedstock#3 |
Current StatusThis has turned out to be a huge pain:
(and we still need to rebuild a number of our deps on the Where to go from here... suggestions @rwest? |
I think the only thing to do is tick things off one at a time so we can move forward? (The only alternative is never upgrade anything?). Maybe update the top summary of this PR with a checklist to track what's needed. I thought you'd dealt with muq in #2678 ? is the RDKit problem new? What are the Cantera 3.0 issues? Maybe they should be listed in a separate issue or PR stub. (One is #2676) |
I think the Cantera and Cython problems are tick-off-able, just a matter of sitting in front of the unit tests and fixing individual lines until it all passes. The others are more difficult, and not under our control:
I don't know the full scope of the Cantera issue, but that issue you opened is a good example. The function we use for testing will no longer exist, and need to be updated to the new syntax. The rest will become clear when the unit tests are finally run on Python 3.11 |
I ran this experiment
It picked Python 3.10.14. When I force it to use 3.11 with From the discussion in #2678 the muq developers are pretty responsive and, in the longer term, may help us by building binaries with boost libraries that are compatible with rdkit? But in the short term, is using Python 3.10 a way out of this stalemate, breaking the 3.7 roadblock and getting us closer to #2640? |
Great minds think alike, I was just running with locally with 3.8 and 3.9 and also getting promising results. 3.10 is much better though, that buys us a much longer window before it gets deprecated again. Let's stick 3.10 into this PR and see where we get. |
Actually on second thought, I am going to move this to a new PR so that the branch name will make sense and target python 3.9 instead, only because ringdecomposerlib-python only supports up to 3.9 ATM. |
This PR will (eventually) move RMG from Python 3.7 to 3.11/2. Python 3.7 is deprecated, which reason enough on its own to move, but doing so will also unblock a number of other improvements.
Opening this now to track the progress of the change and so that I can use the CI to test what packages need to be rebuilt, etc. Will edit this description and clean up the git history when things actually stand a chance of working.