forked from efforting.tech/stt-server
Fix missing faster-whisper deps when using local ctranslate2 build
--no-deps skipped av and other required packages. Fix by installing faster-whisper normally first (satisfies all deps, pulls PyPI ctranslate2), then immediately overriding ctranslate2 with the source-built version. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -96,26 +96,29 @@ ls "${VENV}/include/ctranslate2/" | head -3
|
|||||||
ls "${VENV}/lib/libctranslate2"* 2>/dev/null || { echo "ERROR: libctranslate2 not found in venv/lib" >&2; exit 1; }
|
ls "${VENV}/lib/libctranslate2"* 2>/dev/null || { echo "ERROR: libctranslate2 not found in venv/lib" >&2; exit 1; }
|
||||||
grep "WITH_CUDA" "${BUILD_DIR}/cmake-build/CMakeCache.txt" | grep -v "^#" || true
|
grep "WITH_CUDA" "${BUILD_DIR}/cmake-build/CMakeCache.txt" | grep -v "^#" || true
|
||||||
|
|
||||||
# --- Python bindings ---
|
# --- faster-whisper (with all deps, including PyPI ctranslate2) ---
|
||||||
# Always reinstall from source to ensure we use our locally built library,
|
# Install faster-whisper normally so all its dependencies (av, huggingface_hub, etc.)
|
||||||
# not a PyPI wheel that may have been pulled in as a dependency.
|
# are satisfied. This will pull in the PyPI ctranslate2 wheel, which we override next.
|
||||||
echo "==> removing any existing ctranslate2 install..."
|
if ! "${VENV}/bin/python3" -c "import faster_whisper" &>/dev/null 2>&1; then
|
||||||
|
echo "==> installing faster-whisper"
|
||||||
|
"${VENV}/bin/pip" install faster-whisper
|
||||||
|
else
|
||||||
|
echo "==> faster-whisper already installed, skipping"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- Python bindings (always reinstalled from source) ---
|
||||||
|
# Override the PyPI ctranslate2 wheel pulled in above with our source-built version.
|
||||||
|
# This is the whole point of this script: the PyPI wheel links against a fixed CUDA
|
||||||
|
# major version (e.g. libcublas.so.12) while our build links against the system version.
|
||||||
|
echo "==> removing PyPI ctranslate2..."
|
||||||
"${VENV}/bin/pip" uninstall -y ctranslate2 2>/dev/null || true
|
"${VENV}/bin/pip" uninstall -y ctranslate2 2>/dev/null || true
|
||||||
|
|
||||||
echo "==> building ctranslate2 Python bindings from source..."
|
echo "==> installing source-built ctranslate2 Python bindings..."
|
||||||
CT2_ROOT="${VENV}" \
|
CT2_ROOT="${VENV}" \
|
||||||
LIBRARY_PATH="${VENV}/lib:${VENV}/lib64${LIBRARY_PATH:+:${LIBRARY_PATH}}" \
|
LIBRARY_PATH="${VENV}/lib:${VENV}/lib64${LIBRARY_PATH:+:${LIBRARY_PATH}}" \
|
||||||
LDFLAGS="-Wl,-rpath,${VENV}/lib" \
|
LDFLAGS="-Wl,-rpath,${VENV}/lib" \
|
||||||
"${VENV}/bin/pip" install "${BUILD_DIR}/src/python" --no-build-isolation
|
"${VENV}/bin/pip" install "${BUILD_DIR}/src/python" --no-build-isolation
|
||||||
|
|
||||||
# --- faster-whisper ---
|
|
||||||
if ! "${VENV}/bin/python3" -c "import faster_whisper" &>/dev/null 2>&1; then
|
|
||||||
echo "==> installing faster-whisper"
|
|
||||||
"${VENV}/bin/pip" install faster-whisper --no-deps
|
|
||||||
else
|
|
||||||
echo "==> faster-whisper already installed, skipping"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# --- model download ---
|
# --- model download ---
|
||||||
if [ -f "${TOKEN_FILE}" ]; then
|
if [ -f "${TOKEN_FILE}" ]; then
|
||||||
export HF_TOKEN="$(cat "${TOKEN_FILE}")"
|
export HF_TOKEN="$(cat "${TOKEN_FILE}")"
|
||||||
|
|||||||
Reference in New Issue
Block a user