MagicStack / MagicStack/uvloop

uvloop pypy3.9 error on import

Offen
#521 1 Kommentar 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Cython
Sterne
11.9k
Forks
616
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

  • uvloop version: 0.17.0
  • Python version: pypy3.9
  • Platform: Debian Bullseye
  • Can you reproduce the bug with PYTHONASYNCIODEBUG in env?: Yes
  • Does uvloop behave differently from vanilla asyncio? How?: Vanilla asyncio does not create this error

uvloop fails to import with the following traceback

  File "/var/gpob/GB.py", line 36, in <module>
    import uvloop
  File "/usr/lib/pypy3.9/site-packages/uvloop/__init__.py", line 7, in <module>
    from .loop import Loop as __BaseLoop  # NOQA
ImportError: /usr/lib/pypy3.9/site-packages/uvloop/loop.pypy39-pp73-x86_64-linux-gnu.so: undefined symbol: PyContext_CopyCurrent```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Import unter Debian Bullseye mit PyPy 3.9 und uvloop 0.17.0 zu reproduzieren; untersuche anschließend uvloop/init.py und die importierte loop.pypy39-pp73-x86_64-linux-gnu.so, die mit dem nicht definierten PyContext_CopyCurrent-Symbol verknüpft ist. Abgeschlossen ist die Arbeit, wenn uvloop unter PyPy erfolgreich importiert wird und das relevante Importverhalten durch einen geeigneten Regressionstest abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.