fix for base executable with non-ascii characters on windows

This commit is contained in:
Anthony Sottile
2020-11-25 12:42:58 -08:00
parent 029f9cca97
commit 7486dee082
2 changed files with 8 additions and 1 deletions

View File

@@ -36,7 +36,7 @@ def _version_info(exe: str) -> str:
def _read_pyvenv_cfg(filename: str) -> Dict[str, str]:
ret = {}
with open(filename) as f:
with open(filename, encoding='UTF-8') as f:
for line in f:
try:
k, v = line.split('=')

View File

@@ -23,6 +23,13 @@ def test_read_pyvenv_cfg(tmpdir):
assert python._read_pyvenv_cfg(pyvenv_cfg) == expected
def test_read_pyvenv_cfg_non_utf8(tmpdir):
pyvenv_cfg = tmpdir.join('pyvenv_cfg')
pyvenv_cfg.write_binary('hello = hello john.š\n'.encode())
expected = {'hello': 'hello john.š'}
assert python._read_pyvenv_cfg(pyvenv_cfg) == expected
def test_norm_version_expanduser():
home = os.path.expanduser('~')
if os.name == 'nt': # pragma: nt cover