Move utils.misc.cast to avoid circular import

This commit is contained in:
Chris Hunt 2019-11-04 20:16:36 -05:00
parent 0339983b0f
commit 912f5763c6
3 changed files with 12 additions and 9 deletions

View File

@ -13,8 +13,7 @@ from pip._vendor.retrying import retry # type: ignore
from pip._vendor.six import PY2 from pip._vendor.six import PY2
from pip._internal.utils.compat import get_path_uid from pip._internal.utils.compat import get_path_uid
from pip._internal.utils.misc import cast from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
if MYPY_CHECK_RUNNING: if MYPY_CHECK_RUNNING:
from typing import BinaryIO, Iterator from typing import BinaryIO, Iterator

View File

@ -39,7 +39,7 @@ from pip._internal.utils.compat import (
str_to_display, str_to_display,
) )
from pip._internal.utils.marker_files import write_delete_marker_file from pip._internal.utils.marker_files import write_delete_marker_file
from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
from pip._internal.utils.virtualenv import ( from pip._internal.utils.virtualenv import (
running_under_virtualenv, running_under_virtualenv,
virtualenv_no_global, virtualenv_no_global,
@ -53,16 +53,11 @@ else:
if MYPY_CHECK_RUNNING: if MYPY_CHECK_RUNNING:
from typing import ( from typing import (
Any, AnyStr, Container, Iterable, List, Optional, Text, Any, AnyStr, Container, Iterable, List, Optional, Text,
Tuple, Union, cast, Tuple, Union,
) )
from pip._vendor.pkg_resources import Distribution from pip._vendor.pkg_resources import Distribution
VersionInfo = Tuple[int, int, int] VersionInfo = Tuple[int, int, int]
else:
# typing's cast() is needed at runtime, but we don't want to import typing.
# Thus, we use a dummy no-op version, which we tell mypy to ignore.
def cast(type_, value): # type: ignore
return value
__all__ = ['rmtree', 'display_path', 'backup_dir', __all__ = ['rmtree', 'display_path', 'backup_dir',

View File

@ -27,3 +27,12 @@ Ref: https://github.com/python/mypy/issues/3216
""" """
MYPY_CHECK_RUNNING = False MYPY_CHECK_RUNNING = False
if MYPY_CHECK_RUNNING:
from typing import cast
else:
# typing's cast() is needed at runtime, but we don't want to import typing.
# Thus, we use a dummy no-op version, which we tell mypy to ignore.
def cast(type_, value): # type: ignore
return value