-
Notifications
You must be signed in to change notification settings - Fork 9
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.10 waiting list/status #205
Comments
Reminder to self: by the time 3.10 is ready, it'll also be time to drop 3.7 support (scheduled for end of 2021 in NEP 29)
|
11/18/2021 status:
|
That's pretty great... maybe we should get back to pyca, then. |
I've been considering if it's worth specifying alternate env builds for testing/poking around with that remove the packages with low compatibility. Some examples might be:
I'm not sure the cleanest way to do these |
6/6/2022 status is this perplexing message:
I think all previously known incompatibilities have been resolved |
After removing the docutils pin:
|
I guess we still have dependencies that haven't made any py3.10 builds oh well |
py310 now fails on ipython which doesn't make any sense to me since it has a py310 build |
The build errors are still confusing. The latest try gives:
Like the previous failure, this is a package that has an available python 3.10 version. I suspect something that depends on epicscorelibs must have some strict pinning that excludes python 3.10. |
After quick investigation, this is not the case. All the packages that depend on epicscorelibs are installable in 3.10. I'm going to detour myself and create a script to figure out what's going on because I want to be allowed to do py3.10 at some point. |
The following packages on our conda packages list can't be installed individually along with py310:
For everything else, conda lets you do the install. |
|
Ok actually my script was really crude and hxrsnd passes on retry It's just the precise tag on scikit-image that holds us to py39. That means we can remove the pin and deploy a beta py10 env to try out whenever we want to. |
Ok there is actually something to the hxrsnd one, you can install it on 3.10 but not the latest tag on 3.10 because the recipe explicitly forbids it 🤦 |
It looks like a misguided past me decided that it was better to set the recipe upper pin than to engage with the issues. Mistake. |
Resulting rabbit hole leads to moved imports in python's |
Is it now possible to create a python 3.10 environment! Let's run some tests on it and potentially deploy a py310 folder with pcds-6.0.0 for beta testing. |
First pass at the tests fails on some technicalities without making much headway: |
From the logs, it looks like pytest isn't even running? At least, I don't see any pytest output and it exits with code 1, hmm |
Yeah it's a silent version conflict between pytest-qt and pytest. I thought this was only in an old version so I'm surprised to see it back. We probably have one or both of these pinned and it's causing an issue. The other break at the bottom of the log is the pyca/epicscorelibs fiasco |
The latest |
py3.10: conda list | grep qt
py3.9: conda list | grep qt
|
Based on the above, it's probably safe to expand the standard test suites to check py3.10, but it can also wait until we resolve these items. |
There is a pattern for python 3.10-related failures in the qt modules: whenever the qt docs says that something must be an int, they now must be an int and not a float, or else bad things happen. Previously it looks like something was converting these to ints for us. This covers all the test failures and the interactive failures I've observed so far, except for typhos's segfault which I haven't looked at yet. Here's an example from clicking around in lucid:
I don't know the best way to go about tracking these down or if there's some other way to address this. I'll put patches in for lucid and pcdswidgets since I identified it already but after that I want to slow down and consider systematic ways to either fix this everywhere or if there's some better way to approach the problem. |
We can't update to 3.10 until we either fix all the places this happens in pydm, typhos, etc. or find a different way to address it (different libraries? versions? builds?) |
I have not yet identified precisely which change is causing the new behavior. |
Seems likely that it'd be in |
I agree that whack-a-mole isn't great here. I'm whacking a few obvious ones today under the principle that I can't unsee them but I'm not going to charge forward further without a tool. |
Linking the root cause we found in slack for completeness:
I've also now noticed https://docs.python.org/3/whatsnew/3.10.html#porting-to-python-3-10 which doesn't mention the above but is worth a quick skim |
The only blockage for this now (pending test suite failures) is the previous comment. |
I'm going to periodically check the travis cron to keep up with which packages are preventing us from getting to python 3.10, updating here.
11/8/2021 status:
The text was updated successfully, but these errors were encountered: