python / python/typeshed

multiprocessing.Value.value needs to be defined

Offen
#10,319 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
5.1k
Forks
2.1k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
82

Beschreibung

The following sample code:

import multiprocessing as mp
x = mp.Value( 'i', 0 )
print( f'{x.value=}' )
x.value = 1
print( f'{x.value=}' )

Produces this output when run:

x.value=0
x.value=1

But mypy complains:

mypy_bug_multiprocessing_value.py:3: error: "SynchronizedBase[Any]" has no attribute "value"  [attr-defined]
mypy_bug_multiprocessing_value.py:4: error: "SynchronizedBase[Any]" has no attribute "value"  [attr-defined]
mypy_bug_multiprocessing_value.py:5: error: "SynchronizedBase[Any]" has no attribute "value"  [attr-defined]

Python version: Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec 6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)] on win32
mypy version: mypy==1.3.0

Beitragsleitfaden

Beitragsleitfaden öffnen

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 typeshed-Stub für multiprocessing.Value und die in der mypy-Fehlermeldung referenzierte Definition von SynchronizedBase zu finden. Vergleiche die deklarierte Schnittstelle mit den .value-Lesezugriffen und der Zuweisung im Beispiel und ergänze oder aktualisiere dann die relevante Stub-Abdeckung sowie eine Regressionprüfung, falls das Repository ein passendes Testmuster hat. Erledigt ist die Aufgabe, wenn das Beispiel ohne attr-defined-Fehler typgeprüft wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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