Unterstützt PyPy das aio und Python 3.5?Funktioniert PyPy mit asyncio?
Ich brauche die Leistung von PyPy
und asynchronen Code von asyncio
. Außerdem muss ich async/await
in meinem Code verwenden. Ist das möglich?
Wenn ja, was sind die Nuancen?
Unterstützt PyPy das aio und Python 3.5?Funktioniert PyPy mit asyncio?
Ich brauche die Leistung von PyPy
und asynchronen Code von asyncio
. Außerdem muss ich async/await
in meinem Code verwenden. Ist das möglich?
Wenn ja, was sind die Nuancen?
Derzeit unterstützt PyPy Python 3.5. Beachte, dass PyPys Python 3-Unterstützung momentan nur Beta-Qualität ist. Wir arbeiten kontinuierlich daran, es zu verbessern. Es ist jedoch noch nicht produktionsbereit. Der meiste Code mit asyncio
sollte einfach funktionieren. Wenn nicht, bitte check the open bug reports oder create a new one oder lassen Sie mich hier in den Kommentaren wissen.
Alt, jetzt veraltet (Stand: 2017.08.18) Hinweise:
Derzeit PyPy unterstützt Python 3.3. Dies bedeutet, dass Sie auf PyPy3.3 install asyncio können. Beachten Sie, dass die Unterstützung von PyPy 3.3 derzeit nur Alpha/Beta-Qualität ist. Wir arbeiten jedoch aktiv an der Steigerung der Leistung und Kompatibilität mit CPython.
Die Funktion async
/await
wurde in Python 3.5 hinzugefügt. Wir haben einen sehr experimentellen Zweig mit Unterstützung für Python 3.5 gestartet, aber es ist noch ein weiter Weg. Zum Glück haben wir derzeit einen GSoC-Schüler, der daran arbeitet, aber es könnte noch einige Jahre dauern (abhängig davon, wie viel Spenden und ehrenamtliche Arbeit wir erhalten).
BEARBEITEN 1: Zuvor fehlte eine Funktion zum Ausführen von asyncio. Es wurde kurz vor dieser Änderung implementiert. Die Antwort wurde entsprechend bearbeitet.
EDIT 2: Wir haben gerade eine Alpha-Version von PyPy3.3 veröffentlicht. Wir empfehlen niemandem, das alte PyPy3-Release zu testen, das nur Python 3.2 unterstützt. Deshalb habe ich den Großteil der Antwort umgeschrieben.
Alt, jetzt veraltet (Stand: 2016.05.30) Hinweise:
Die PyPy3 Version von der Webseite ist sehr alt und nur implementiert Python 3.2 - wir Release über nicht getan haben, anderthalb Jahre. Da in Python 3.2 die Funktion yield from
fehlt, funktioniert asyncio nicht mit dieser Version.
Nein. Laut PyPy website ist es nur Python 3.2.5-konform, während asyncio Python 3.4 benötigt (kann tatsächlich mit pip on 3.3 installiert werden, danke @dirn). Auch auf Asyncio Wiki wird festgestellt, dass asyncio noch nicht auf PyPy funktioniert (obwohl Wiki zuletzt im August 2015 aktualisiert wurde).
asyncio wurde zur stdlib in 3.4 hinzugefügt und kann über pip on 3.3 installiert werden. Das hat jedoch keine Auswirkungen auf die Antwort von PyPy. – dirn
Danke, ich aktualisierte die Antwort –
dieser Typ sagt sonst http://stackoverflow.com/questions/8960747/stackless-in-pypy-and-pypy-greenlet-differenzen – Ale
Anscheinend gibt es jetzt PyPy3.5? –
Nun, PyPy3.5 ist noch nicht vollständig oder produktionsbereit. Aber im letzten Jahr konzentrierten wir uns hauptsächlich auf PyPy3.5, also sollte ich meine Antwort aktualisieren. –