mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2026-05-09 07:01:21 +08:00
[Misc] Refactor: Improve argument handling for conda command (#20481)
Signed-off-by: reidliu41 <reid201711@gmail.com>
This commit is contained in:
parent
75a99b98bf
commit
fa839565f2
@ -96,25 +96,30 @@ DEFAULT_PIP_PATTERNS = {
|
|||||||
def run(command):
|
def run(command):
|
||||||
"""Return (return-code, stdout, stderr)."""
|
"""Return (return-code, stdout, stderr)."""
|
||||||
shell = True if type(command) is str else False
|
shell = True if type(command) is str else False
|
||||||
p = subprocess.Popen(command,
|
try:
|
||||||
stdout=subprocess.PIPE,
|
p = subprocess.Popen(command,
|
||||||
stderr=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
shell=shell)
|
stderr=subprocess.PIPE,
|
||||||
raw_output, raw_err = p.communicate()
|
shell=shell)
|
||||||
rc = p.returncode
|
raw_output, raw_err = p.communicate()
|
||||||
if get_platform() == 'win32':
|
rc = p.returncode
|
||||||
enc = 'oem'
|
if get_platform() == 'win32':
|
||||||
else:
|
enc = 'oem'
|
||||||
enc = locale.getpreferredencoding()
|
else:
|
||||||
output = raw_output.decode(enc)
|
enc = locale.getpreferredencoding()
|
||||||
if command == 'nvidia-smi topo -m':
|
output = raw_output.decode(enc)
|
||||||
# don't remove the leading whitespace of `nvidia-smi topo -m`
|
if command == 'nvidia-smi topo -m':
|
||||||
# because they are meaningful
|
# don't remove the leading whitespace of `nvidia-smi topo -m`
|
||||||
output = output.rstrip()
|
# because they are meaningful
|
||||||
else:
|
output = output.rstrip()
|
||||||
output = output.strip()
|
else:
|
||||||
err = raw_err.decode(enc)
|
output = output.strip()
|
||||||
return rc, output, err.strip()
|
err = raw_err.decode(enc)
|
||||||
|
return rc, output, err.strip()
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
cmd_str = command if isinstance(command, str) else command[0]
|
||||||
|
return 127, '', f"Command not found: {cmd_str}"
|
||||||
|
|
||||||
|
|
||||||
def run_and_read_all(run_lambda, command):
|
def run_and_read_all(run_lambda, command):
|
||||||
@ -148,7 +153,7 @@ def get_conda_packages(run_lambda, patterns=None):
|
|||||||
if patterns is None:
|
if patterns is None:
|
||||||
patterns = DEFAULT_CONDA_PATTERNS
|
patterns = DEFAULT_CONDA_PATTERNS
|
||||||
conda = os.environ.get('CONDA_EXE', 'conda')
|
conda = os.environ.get('CONDA_EXE', 'conda')
|
||||||
out = run_and_read_all(run_lambda, "{} list".format(conda))
|
out = run_and_read_all(run_lambda, [conda, 'list'])
|
||||||
if out is None:
|
if out is None:
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user