-
Notifications
You must be signed in to change notification settings - Fork 417
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 #4149
Comments
Currently running into a problem with gevent failing to build properly with Python 3.11. I suspect it has to do with gevent's vendored version of greenlet, and I've made an issue on gevent's github page here. |
docker python just updated to 3.11 wheel fails to build if used with python 3 latest |
Status Update: The tracer has preliminary support for Python 3.11 as of version 1.6.0. This unfortunately does not yet include integrations for |
FYI, the new version of A version of |
We're running into this as well. Would love a fix! |
Hi @bryanhelmig, could you clarify what problem you're running into? |
We're currently block by the support of
|
Hi @eqperes, would you mind opening up a new issue so we can look into it in more detail? Adding a more detailed traceback/error log would be helpful. Thanks! |
I'm running several of the not yet supported integrations. I'm happy to create a bug report with what errors I am getting or post here if that would help. |
@BobACollins thanks for reaching out, please do open up a new issue with your bug report! |
So, just to make it clear - what is not supported yet in python3.11? |
@AlonMorgen we've had reports of persisting issues when the profiler is on with Python 3.11. We have fixed a couple of those that were caused by the profiler directly. There might still be issues when using the profiler with CPython 3.11 which might be indirectly caused by |
@AlonMorgen other than profiling as @P403n1x87 mentioned above, all core Of course, if you run into errors while running any of our integrations with Python 3.11, please open a support issue so we can resolve it. |
Hi there After upgrading to Not sure if it's related but I found this in the logs:
and
A screenshot showing that we stopped receiving traced for graphql.request: Is it something planned to be fixed soon or should we roll back to python 3.10 ...? |
Is ddtrace 1.9 fixing this? Any eta for the release? |
Hi @ayyoubelamrani4, the PR to add support for graphql/graphene in Python 3.11 has not yet been released, and should be in 1.9. In the meantime, I'd suggest roll backing to Python 3.10 until 1.9 is released. The goal is to get 1.9 released officially by EOW next week or early the week after. If the issue still persists after upgrading, please open a new support issue. |
Hi @Yun-Kim I'm just upgrading our python version to 3.11.2 and I'm facing the following error with dd-trace:
After checking the codebase I can still see the |
Hi @lanprijatelj, thanks for reaching out. |
Is python 3.11 supported or not? The documentation suggests that it is here: https://ddtrace.readthedocs.io/en/stable/release_notes.html#v1-9-0 -> and here: https://docs.datadoghq.com/tracing/trace_collection/compatibility/python/ -> But this issue is still opened, which suggests that it is not. If 3.11 is supported, close this issue. If it’s not, correct your documentation. |
@brentleeper we use 3.11 and we use datadog too. I guess you have to check which libraries you need support for (top post in this thread). |
Thank you @fredrikaverpil. @DataDog If there is only partial support, update your documentation to include a notice since this could mislead customers into thinking that 3.11 is FULLY supported. |
Hi @brentleeper, sorry for the confusion. The core components checklist in the top post in this thread indicate that ddtrace fully supports Python 3.11. However, certain integrations (most notably celery) are not yet compatible with Python 3.11, which is outside our control. Since this issue was meant to track the core components of ddtrace, which fully supports Python 3.11, and it's out of our control when celery will be releasing a Python 3.11-compatible version (we expected earlier in 2022 but alas), I'll be closing this issue to avoid further confusion. For any 3.11 support issues in the future, please create a new issue. |
Celery 5.3.0 is released now, and Celery supports Python 3.11. |
# Which issue(s) this PR fixes I was seeing some strange logs occasionally pop up from celery: ```bash [1;33m2023-07-13 10:05:14,772 source=engine:celery worker=MainProcess task_id=??? task_name=??? name=celery.redirected level=WARNING AttributeError: '_Code' object has no attribute 'co_positions'[0m ``` Did a bit of digging on this and [realized](DataDog/dd-trace-py#4149) that `celery==5.2.7` does not support Python 3.11 (the version we use): ![Screenshot 2023-07-13 at 12 14 36](https://github.com/grafana/oncall/assets/9406895/a6ee76ea-12ed-4a3d-b37c-62b4291893e1) We should immediately upgrade to `celery==5.3.1`. It mentions in this in the changelog for that version: ![Screenshot 2023-07-13 at 12 13 22](https://github.com/grafana/oncall/assets/9406895/5afdc35e-fbda-4350-8dc4-d989ac31fdc6) ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated (N/A) - [ ] Documentation added (or `pr:no public docs` PR label added if not required) (N/A) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) (N/A)
Hi @danyi1212, could you create a separate issue for supporting celery? This issue is closed and will be difficult to respond to support requests through this issue. Thank you! |
FWIW I filed #8229 for this |
This issue is to track our progress in supporting Python 3.11.
Update (April 3, 2023): The
ddtrace
library now supports Python 3.11, with the exception of certain integrations for which libraries are not themselves compatible with Python 3.11. This includes celery, which should be resolved once they release version 5.3.The dd-trace-py library currently does not support Python 3.11, which is scheduled to be released October 24 2022. We have several integrations and core components that are failing to build or failing tests with #4125.
Checklist for dd-trace-py core components:
greenlet
. ~Waiting on gevent to unblock and support 3.11 issue and PR.depend on thebytecode
module which doesn't support Python 3.11 yet, so the debugger and internal test suites won't pass.skipping Python 3.11 tests untilbytecode
supports Python 3.11.Bytecode now supports 3.11, but our injection and wrapping bytecode needs to be updated to match Python 3.11's new bytecode op codes.Dynamic instrumentation will support Python 3.11 once feat: add Python 3.11 support to Dynamic Instrumentation #4854 is merged.see feat(profiler): add Python 3.11 support #4343 description, the profiler is still crashing on Python 3.11.The profiler now supports Python 3.11 as of feat(profiling): add support for Python 3.11 #4511.There are some known compatibility issues with the profiler on Python 3.11. See fix(profiler): indirectly access frame objects for tracebacks for Python 3.11 #4895.Riot seems to have problems with Python 3.11's importlib in terms of managing virtual environments. Specifically, Hypothesis' vendored text file is not being found even though there is no problem running the test locally with Python 3.11.hypothesis.provisional
, and create a separate test suite using tox to test it separately.Checklist for integrations:
AttributeError: '_Code' object has no attribute 'co_positions'
error for 2 celery tests, failing tests marked as flaky but they are constantly failing with PR feat(tracer): add Python 3.11 support #4125inspect.getargspec()
has been deprecated since Python 3.0 and was now removed in Python 3.11.Known issue and resolved by cherrypy fix, released in version 18.7.In other words Python 3.11 is only compatible with Cherrypy >= 18.7.Pynamodb released compatibility fix for removedgetargspec()
in version 4.1inspect.getargspec()
has been deprecated since Python 3.0 and was now removed in Python 3.11.Known issue and resolved in dogpilecache >= 0.7failing in CI due to a pinned dependency.Kombu's dependency Vine==1.3.0 is pinned in CI for some reason and it is incompatible with Python 3.11 (inspect.formatargspec()
has been deprecated since Python 3.5 and was now removed in Python 3.11.)Python'sgettext.py
module removed a deprecated function argumentcodeset
as of Python 3.11.Django 4.1 is meant to be first django version compatible with Python 3.11GettingTypeError: Passing coroutines is forbidden, use tasks explicitly.
errors from asynciofastapi giving the same error, makes sense as it is based on and dependent on starletteGetting error as they are also dependent on the bytecode module, which doesn't yet support Python 3.11skipping Python 3.11 tests untilbytecode
supports Python 3.11.Bytecode now supports 3.11, but our injection and wrapping bytecode needs to be updated to match Python 3.11's new bytecode op codes.Will be unblocked once feat: add Python 3.11 support to Dynamic Instrumentation #4854 is merged.According to grpc maintainers grpc 1.49.0 will support python 3.11 which should be released soon.Note: grpcio with pytest-asyncio is causing Python segmentation faults on thetest_unary_exception
andtest_unary_cancellation
test cases. You can reproduce this using this gist. Thus I am skipping Python 3.11 tests with grpcio and pytest-asyncio.fails to install with Python 3.11 currently, version 1.1.2 onwards should be compatible with Python 3.11.asyncpg/pgproto/pgproto.c:223:12: fatal error: longintrepr.h: No such file or directory #include "longintrepr.h"
error during install processSkipping the asyncpg python 3.11 tests for now until asyncpg releases a compatible version.failing to run test cases withTypeError: duplicate base class "TimeoutError"
failing to install.According to psycopg docs, version 2.9.2 has preliminary support for python 3.11, but our riotfile tests are based on~=2..8.0, ~=2.9.0, latest
fails to build with Python 3.11, fixed in pylibmc==1.6.1fails to build with Python 3.11.gevent uses a vendored version of greenlet, which is not yet compatible with Python 3.11 (See issue)Skipping the gevent python 3.11 tests for now until gevent releases a compatible version.The text was updated successfully, but these errors were encountered: