Error when running on code inside venv containing `typing-extensions`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug Report
When running mypy on code installed in a virtualenv environment, mypy will fail outright if the environment contains typing-extensions.
To Reproduce
See repo containing a minimal example. The steps below describe the general idea:
- Create a fresh virtual environment.
- Create a minimal library with a
setup.pythat liststyping-extensionsininstall_requires. - Install the library to the virtual environment.
- Run
mypyon a file inside the environment that is part of the library (mypy venv/lib/python3.Y/site-packages/my_project/hello.py).
Expected Behavior
mypy would report errors in hello.py, if any, or exit with 0 if none.
Actual Behavior
mypy doesn't check hello.py, complaining that it found a typing_extensions.py in the environment:
mypy: "project-venv/lib/python3.6/site-packages/typing_extensions.py" shadows library module "typing_extensions"
note: A user-defined top-level module with name "typing_extensions" is not supported
Your Environment
- Mypy version used: 0.910.
- Mypy command-line flags: none
- Mypy configuration options from
mypy.ini(and other config files): none - Python version used: multiple (3.6.8, 3.8.8).
- Operating system and version: CentOS 7
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem minimalen Beispiel im verlinkten mypy-typing-extensions-issue-Repository und reproduziere den Befehl mit einem in einer virtuellen Umgebung installierten Paket. Verfolge mypy's Module-Resolution-Einstiegspunkt für den gemeldeten Shadowing-Fehler und überprüfe anschließend, dass die Ziel-hello.py wie erwartet ohne den Fehler geprüft wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100