Skip to content
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.9 #110

Closed
carlwgeorge opened this issue May 27, 2020 · 6 comments
Closed

Python 3.9 #110

carlwgeorge opened this issue May 27, 2020 · 6 comments

Comments

@carlwgeorge
Copy link

Hello, I'm the package maintainer for python-anyio in Fedora. Our development branch (Rawhide) has updated Python to 3.9 (pre-release versions) to get a head start on identifying issues with other Python packages. We discovered that the anyio test suite doesn't pass on 3.9.

https://bugzilla.redhat.com/show_bug.cgi?id=1817681

Another maintainer pointed out an upstream issue that introduced asyncio.loop.shutdown_default_executor.

https://bugs.python.org/issue34037#msg366812

I think this means that anyio will need changes to be compatible with Python 3.9. Here is the warning in the "What’s New In Python 3.9" document.

asyncio.loop.shutdown_default_executor() has been added to AbstractEventLoop, meaning alternative event loops that inherit from it should have this method defined. (Contributed by Kyle Stanley in bpo-34037.)

I'm not familiar enough with the code base to implement the fix myself, I just wanted to bring it to your attention. Once the fix is commited or submitted as a pull request, I can include the relevant commits as a patch in the Fedora package without waiting for a corresponding anyio release.

@agronholm
Copy link
Owner

The spawn() issue was already fixed in v1.3.0 so I'm baffled by that failure. As for the exception about asyncio.loop.shutdown_default_executor, that happens because asyncio broke backwards compatibility by introducing a mandatory new method which uvloop has not implemented yet.

@agronholm
Copy link
Owner

I only get 5 failures when testing against Python 3.9.0b1. Aside from the uvloop related problems, the remaining one is something I should look into.

@encukou
Copy link

encukou commented May 28, 2020

I filed a Python issue to reconsider making shutdown_default_executor mandatory: https://bugs.python.org/issue40802

@agronholm
Copy link
Owner

I've created a ticket in uvloop: MagicStack/uvloop#349

@agronholm
Copy link
Owner

agronholm commented May 31, 2020

I've released AnyIO 1.3.1 which includes this workaround.

@carlwgeorge
Copy link
Author

Thank you for the quick fix and release. It allowed me to update the Fedora package and clear the build failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants