Adapt for logging lock internal changes in Python 3.13#14117
Adapt for logging lock internal changes in Python 3.13#14117musicinmybrain wants to merge 4 commits intoconda:python-3.13from
Conversation
|
We require contributors to sign our Contributor License Agreement and we don't have one on file for @musicinmybrain. In order for us to review and merge your code, please e-sign the Contributor License Agreement PDF. We then need to manually verify your signature, merge the PR (conda/infrastructure#977), and ping the bot to refresh the PR. |
|
CLA signed… |
|
@conda-bot check |
CodSpeed Performance ReportMerging #14117 will not alter performanceComparing Summary
|
|
We don't currently run the tests on Python 3.13, so it's a little hard to see if this has a negative impact on runtime behavior etc |
|
Can you please add a news file for this pull request. You just need to put a bullet point under "Other". We recently had to add a change for xonsh regarding a deprecated import path, so that would be a good example to look at: Please use the pull request number in the title and at the end of the line of the bullet point. Also, as @jezdez said, once we have the ability to test Python 3.13 (i.e. this has been deployed to channels like |
|
Thanks for the follow-up. I added a news item. |
|
Hi, what is the next step for this fix? I just ran into this while attempting to help conda-forge with the Python 3.13 migration for the |
|
I've changed the base branch here since we'll want to actually test this on Python 3.13 as well. See #14554 for progress on the larger work to add support for all dependencies etc. |
Description
In Fedora Rawhide (the development version), the system Python is now 3.13.0rc1. We are therefore testing conda (and everything else) on Python 3.13 regardless of whether “official” support is ready or not.
This PR fixes errors like:
Currently in Python 3.13, the
loggingfunctions_prepareForkand_afterForkcorrespond closely to the old_acquireLockand_releaseLock, which have been removed.As long as conda is already using non-public APIs, it’s easiest to just call those on Python 3.13. That approach could perhaps break in the future if these functions start doing something other than acquire/release a module lock, but copying their contents could also break if the internal locking semantics change in a future Python, so 🤷.
(See also celery/billiard#404.)
Checklist - did you ...
newsdirectory (using the template) for the next release's release notes?I didn’t consider this “significant” enough for an entry, but let me know if I need to add one.Fixes: #14439