Skip to content

Commit bd07bfb

Browse files
committed
Cast record_file to io.StringIO for Python 3 to appease mypy
1 parent feaa76a commit bd07bfb

File tree

1 file changed

+9
-2
lines changed
  • src/pip/_internal/operations/install

1 file changed

+9
-2
lines changed

src/pip/_internal/operations/install/wheel.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import compileall
1111
import contextlib
1212
import csv
13+
import io
1314
import logging
1415
import os.path
1516
import re
@@ -24,15 +25,15 @@
2425
from pip._vendor import pkg_resources
2526
from pip._vendor.distlib.scripts import ScriptMaker
2627
from pip._vendor.distlib.util import get_export_entry
27-
from pip._vendor.six import StringIO
28+
from pip._vendor.six import PY3, StringIO
2829

2930
from pip._internal.exceptions import InstallationError
3031
from pip._internal.locations import get_major_minor_version
3132
from pip._internal.models.direct_url import DIRECT_URL_METADATA_NAME, DirectUrl
3233
from pip._internal.utils.filesystem import adjacent_tmp_file, replace
3334
from pip._internal.utils.misc import captured_stdout, ensure_dir, hash_file
3435
from pip._internal.utils.temp_dir import TempDirectory
35-
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
36+
from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast
3637
from pip._internal.utils.unpacking import current_umask, unpack_file
3738
from pip._internal.utils.wheel import parse_wheel
3839

@@ -600,6 +601,12 @@ def _generate_file(path, **kwargs):
600601
generated=generated,
601602
lib_dir=lib_dir)
602603
with _generate_file(record_path, **csv_io_kwargs('w')) as record_file:
604+
605+
# For Python 3, we create the file in text mode, hence we
606+
# cast record_file to io.StringIO
607+
if PY3:
608+
record_file = cast(io.StringIO, record_file)
609+
603610
writer = csv.writer(record_file)
604611
writer.writerows(sorted_outrows(rows)) # sort to simplify testing
605612

0 commit comments

Comments
 (0)