Commit 73bc4eb1 by Branch Vincent Committed by GitHub

fix: subprocess doesn't allow Path on windows, 3.7 (#7932)

parent 3f2469ab
...@@ -544,7 +544,7 @@ class EnvManager: ...@@ -544,7 +544,7 @@ class EnvManager:
if executable: if executable:
python_patch = decode( python_patch = decode(
subprocess.check_output( subprocess.check_output(
[executable, "-c", GET_PYTHON_VERSION_ONELINER], [str(executable), "-c", GET_PYTHON_VERSION_ONELINER],
).strip() ).strip()
) )
...@@ -579,7 +579,7 @@ class EnvManager: ...@@ -579,7 +579,7 @@ class EnvManager:
try: try:
python_version_string = decode( python_version_string = decode(
subprocess.check_output( subprocess.check_output(
[python_path, "-c", GET_PYTHON_VERSION_ONELINER], [str(python_path), "-c", GET_PYTHON_VERSION_ONELINER],
) )
) )
except CalledProcessError as e: except CalledProcessError as e:
...@@ -906,7 +906,7 @@ class EnvManager: ...@@ -906,7 +906,7 @@ class EnvManager:
if executable: if executable:
python_patch = decode( python_patch = decode(
subprocess.check_output( subprocess.check_output(
[executable, "-c", GET_PYTHON_VERSION_ONELINER], [str(executable), "-c", GET_PYTHON_VERSION_ONELINER],
).strip() ).strip()
) )
python_minor = ".".join(python_patch.split(".")[:2]) python_minor = ".".join(python_patch.split(".")[:2])
...@@ -954,7 +954,7 @@ class EnvManager: ...@@ -954,7 +954,7 @@ class EnvManager:
try: try:
python_patch = decode( python_patch = decode(
subprocess.check_output( subprocess.check_output(
[python, "-c", GET_PYTHON_VERSION_ONELINER], [str(python), "-c", GET_PYTHON_VERSION_ONELINER],
stderr=subprocess.STDOUT, stderr=subprocess.STDOUT,
).strip() ).strip()
) )
......
...@@ -192,6 +192,7 @@ def check_output_wrapper( ...@@ -192,6 +192,7 @@ def check_output_wrapper(
) -> Callable[[list[str], Any, Any], str]: ) -> Callable[[list[str], Any, Any], str]:
def check_output(cmd: list[str], *args: Any, **kwargs: Any) -> str: def check_output(cmd: list[str], *args: Any, **kwargs: Any) -> str:
# cmd is a list, like ["python", "-c", "do stuff"] # cmd is a list, like ["python", "-c", "do stuff"]
assert all(isinstance(arg, str) for arg in cmd)
python_cmd = cmd[2] python_cmd = cmd[2]
if "sys.version_info[:3]" in python_cmd: if "sys.version_info[:3]" in python_cmd:
return version.text return version.text
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment