mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 05:34:18 +08:00
Changes: 1. Always explicit `.absolute()`: `Path(__file__)` -> `Path(__file__).absolute()` 2. Replace `path.resolve()` with `path.absolute()` if the code is resolving the PyTorch repo root directory. Pull Request resolved: https://github.com/pytorch/pytorch/pull/129409 Approved by: https://github.com/albanD
42 lines
986 B
Python
42 lines
986 B
Python
import re
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
from mypy.plugin import Plugin
|
|
|
|
|
|
def get_correct_mypy_version():
|
|
# there's probably a more elegant way to do this
|
|
(match,) = re.finditer(
|
|
r"mypy==(\d+(?:\.\d+)*)",
|
|
(
|
|
Path(__file__).absolute().parent.parent
|
|
/ ".ci"
|
|
/ "docker"
|
|
/ "requirements-ci.txt"
|
|
).read_text(),
|
|
)
|
|
(version,) = match.groups()
|
|
return version
|
|
|
|
|
|
def plugin(version: str):
|
|
correct_version = get_correct_mypy_version()
|
|
if version != correct_version:
|
|
print(
|
|
f"""\
|
|
You are using mypy version {version}, which is not supported
|
|
in the PyTorch repo. Please switch to mypy version {correct_version}.
|
|
|
|
For example, if you installed mypy via pip, run this:
|
|
|
|
pip install mypy=={correct_version}
|
|
|
|
Or if you installed mypy via conda, run this:
|
|
|
|
conda install -c conda-forge mypy={correct_version}
|
|
""",
|
|
file=sys.stderr,
|
|
)
|
|
return Plugin
|