From d2cd95bd6797a8d1270023773ff06d9ddd5a1cbc Mon Sep 17 00:00:00 2001
From: Zhiming Wang <i@zhimingwang.org>
Date: 星期二, 24 十二月 2024 09:59:37 +0800
Subject: [PATCH] utils.install_model_requirements: support installing with uv (#2329)
---
funasr/utils/install_model_requirements.py | 34 ++++++++++++++++++++--------------
1 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/funasr/utils/install_model_requirements.py b/funasr/utils/install_model_requirements.py
index d7295db..73a2dcb 100644
--- a/funasr/utils/install_model_requirements.py
+++ b/funasr/utils/install_model_requirements.py
@@ -1,15 +1,10 @@
+import shutil
import subprocess
def install_requirements(requirements_path):
try:
- result = subprocess.run(
- ["pip", "install", "-r", requirements_path],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- text=True,
- )
-
+ result = pip_install_r(requirements_path)
# check status
if result.returncode == 0:
print("install model requirements successfully")
@@ -19,13 +14,7 @@
print("error", result.stderr)
return False
except Exception as e:
- result = subprocess.run(
- ["pip", "install", "-r", requirements_path],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- text=True,
- )
-
+ result = pip_install_r(requirements_path)
# check status
if result.returncode == 0:
print("install model requirements successfully")
@@ -34,3 +23,20 @@
print("fail to install model requirements! ")
print("error", result.stderr)
return False
+
+
+def pip_install_r(requirements_path):
+ cmd = []
+ if shutil.which("pip") is not None:
+ cmd = ["pip"]
+ elif shutil.which("uv") is not None:
+ cmd = ["uv", "pip"]
+ else:
+ raise RuntimeError("pip not found, failed to install model requirements")
+ cmd += ["install", "-r", requirements_path]
+ return subprocess.run(
+ cmd,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ text=True,
+ )
--
Gitblit v1.9.1