-
Notifications
You must be signed in to change notification settings - Fork 146
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
Support Python 3.11 #939
Comments
Added support for setting tracing to different threads along with some general fixes. Main things missing: - Compile with cython extensions - Bytecode manipulation - Frame eval mode (requires bytecode manipulation)
Added support for setting tracing to different threads along with some general fixes. Main things missing: - Compile with cython extensions - Bytecode manipulation - Frame eval mode (requires bytecode manipulation)
Thanks for all your work so far on supporting Python 3.11! This is a followup to my issue and PR on pydevd (fabioz/PyDev.Debugger#238 and fabioz/PyDev.Debugger#239). While the PR fixes the "TODO" noted in the pxd file, it does not address another major issue with Python 3.11: the What I don't know how to do is make Cython conditionally include One could perhaps have conditional Cythonizing (using Cython's IF facility) and then define macros like Anyway, it is quite possible that this is what is causing a lot of the test failures with pydevd (fabioz/PyDev.Debugger#240). Best wishes, Julian |
Hello @juliangilbey. The issue here is that the frame eval mode is not currently available for Python 3.11 at all (as a note, the solution which is also used in other places is using code generation to generate code accordingly for each Python version, but this won't be done until the frame eval mode is actually targeted -- it has a requisite of having the bytecode library available, which has ongoing work to add that support: MatthieuDartiailh/bytecode#103). So, until the bytecode library is ported, there's no work expected to be done on the frame eval mode. What's kind of a mystery to me is why you're having compilation errors as the frame eval mode should not be compiled on Python 3.11 (i.e.: it's explicitly skipped in https://github.com/fabioz/PyDev.Debugger/blob/pydev_debugger_2_9_2/setup_pydevd_cython.py#L238). |
Hello @fabioz, Thanks for that really clear explanation! I have been reading through the code this evening quite carefully (before I saw your message) and reached the same conclusion: there's something funny going on with the way I've set up the Debian build and I'll have to look into that. (I think it's because I modified |
Also, I was confused that |
Since frame-eval is disabled by default for the time being, so it's not a support blocker anymore. |
Amazing work - thank you so much all! |
I see this got closed with a few WIP commits, am I correct to assume it wasn't completed, beacuse ⬇️ ? |
I'll start to work on this now that the first beta is out (as it seems Python 3.11 had many internal changes I think this will be a big task).
The text was updated successfully, but these errors were encountered: