lazy import of `_sysconfig` in `Lib/ctypes/__init__.py` is eager on android and cygwin
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- operating-systems
Rechercherichtung
Beginne in Lib/ctypes/init.py beim Lazy-Import in Zeile 7 und bei den Zugriffen auf Modulebene um die Zeilen 560–562, und prüfe anschließend die Änderung aus Issue #146547. Führe den im Report gezeigten pyflakes-Befehl erneut aus und verifiziere, dass _sysconfig unter Android oder Cygwin nicht eifrig zugegriffen wird, während ctypes weiterhin funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug report
(this was found using some recent static analysis capabilities I added to pyflakes -- it searches for lazy imports which are used at the module scope within the module)
$ git grep -El '^lazy (from|import)' -- '*.py' | xargs pyflakes 2> /dev/null | grep ' eager use'
Lib/ctypes/__init__.py:560:23: eager use of lazily imported '_sysconfig' from line 7
Lib/ctypes/__init__.py:562:23: eager use of lazily imported '_sysconfig' from line 7
Lib/test/test_lazy_import/data/basic_used.py:3:1: eager use of lazily imported 'basic2' from line 1
Lib/test/test_lazy_import/data/lazy_import_pkg.py:2:5: eager use of lazily imported 'test' from line 1
(the latter two are test data which makes sense to ignore)
the ctypes one however appears to be valid:
- lazy import: https://github.com/python/cpython/blob/1b015e66f058f29de4d97031b465587ec15cace9/Lib/ctypes/__init__.py#L7
- eager module scope accesses: https://github.com/python/cpython/blob/1b015e66f058f29de4d97031b465587ec15cace9/Lib/ctypes/__init__.py#L560-L562
this appears to be the result of #146547
CPython versions tested on:
CPython main branch
Operating systems tested on:
Other
Linked PRs
- gh-158793
- Vorherrschende Sprache
- Python
- Sterne
- 77.6k
- Forks
- 37.6k
- Ø Merge
- 1 T. 18 Std.
- Gemergte PRs (30 T.)
- 610
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/cpython
-
Docs: problem with page "msvcrt — Useful routines from the MS VC runtime"Evtl. vergeben @jikekei hat das vor 2 Tagen übernommen. Offendocs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
python/cpython#159072 · 6 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
python/cpython#159061 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
`http.client.HTTPSConnection._tunnel` raises `AttributeError: 'NoneType' object has no attribute 'encode'` when header value is `None`Evtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen3.14 3.15 3.16 stdlib type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
python/cpython#159044 · 17 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
A minor problem with the section "6.10.2. Membership test operations" from the language reference.Offendocs pending
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
python/cpython#159034 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Docs: socket.htons() and friends raise ValueError for negative input since 3.14Evtl. vergeben @vetrovk hat das vor 3 Tagen übernommen. Offendocs topic-socket
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
python/cpython#159012 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
bug Triage-Needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
FuRongJun-1999/dsh-memory#170 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
521xueweihan/HelloGitHub#3940 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100