mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-29 12:06:51 +08:00
Merge branch 'v3' of https://github.com/jxxghp/MoviePilot into v3
# Conflicts: # tests/fixtures/architecture/runtime-contract-baseline.json # uv.lock
This commit is contained in:
+11
-11
@@ -178,7 +178,7 @@ python_version_ok() {
|
||||
local python_bin="$1"
|
||||
"$python_bin" - <<'PY' >/dev/null 2>&1
|
||||
import sys
|
||||
raise SystemExit(0 if sys.version_info >= (3, 12) else 1)
|
||||
raise SystemExit(0 if sys.version_info >= (3, 14) else 1)
|
||||
PY
|
||||
}
|
||||
|
||||
@@ -228,20 +228,20 @@ find_uv_python() {
|
||||
python_install_hint() {
|
||||
case "$OS_NAME" in
|
||||
macOS)
|
||||
echo "脚本已尝试自动安装 Git、curl 和 Python 3.12+。" >&2
|
||||
echo "如果自动安装失败,请先安装 Homebrew,或手动执行:brew install git curl python@3.12" >&2
|
||||
echo "脚本已尝试自动安装 Git、curl 和 Python 3.14+。" >&2
|
||||
echo "如果自动安装失败,请先安装 Homebrew,或手动执行:brew install git curl python@3.14" >&2
|
||||
;;
|
||||
Linux*)
|
||||
echo "脚本已尝试自动安装 Git、curl 和 Python 3.12+。" >&2
|
||||
echo "如果自动安装失败,请先安装 Git、curl、Python 3.12+。" >&2
|
||||
echo "例如 Debian/Ubuntu: sudo apt install git curl python3.12" >&2
|
||||
echo "例如 Fedora/RHEL: sudo dnf install git curl python3.12" >&2
|
||||
echo "脚本已尝试自动安装 Git、curl 和 Python 3.14+。" >&2
|
||||
echo "如果自动安装失败,请先安装 Git、curl、Python 3.14+。" >&2
|
||||
echo "例如 Debian/Ubuntu: sudo apt install git curl python3.14" >&2
|
||||
echo "例如 Fedora/RHEL: sudo dnf install git curl python3.14" >&2
|
||||
;;
|
||||
Windows)
|
||||
echo "推荐在 WSL、Linux 或 macOS 终端中运行此脚本。" >&2
|
||||
;;
|
||||
*)
|
||||
echo "请先安装 Git、curl、Python 3.12+。" >&2
|
||||
echo "请先安装 Git、curl、Python 3.14+。" >&2
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@@ -415,11 +415,11 @@ ensure_python() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "==> 未找到可用的 Python 3.12+,开始自动安装 Python 3.12"
|
||||
uv python install 3.12
|
||||
echo "==> 未找到可用的 Python 3.14+,开始自动安装 Python 3.14"
|
||||
uv python install 3.14
|
||||
PYTHON_BIN="$(find_uv_python "$(command -v uv)" || true)"
|
||||
if [[ -z "$PYTHON_BIN" ]] || ! python_version_ok "$PYTHON_BIN"; then
|
||||
echo "自动安装 Python 3.12 失败。" >&2
|
||||
echo "自动安装 Python 3.14 失败。" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -8,11 +8,11 @@ PROJECT_ROOT=""
|
||||
PYTHON_BIN=""
|
||||
COLLECTOR_PATH=""
|
||||
|
||||
# 判断候选 Python 是否满足 3.11 最低版本。
|
||||
# 判断候选 Python 是否满足 3.14 最低版本。
|
||||
python_version_ok() {
|
||||
"$1" - <<'PY' >/dev/null 2>&1
|
||||
import sys
|
||||
raise SystemExit(0 if sys.version_info >= (3, 11) else 1)
|
||||
raise SystemExit(0 if sys.version_info >= (3, 14) else 1)
|
||||
PY
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ find_python() {
|
||||
"${PROJECT_ROOT:+$PROJECT_ROOT/venv/bin/python}" \
|
||||
"${PROJECT_ROOT:+$PROJECT_ROOT/.venv/bin/python}" \
|
||||
"${VIRTUAL_ENV:+$VIRTUAL_ENV/bin/python}" \
|
||||
python3.13 python3.12 python3.11 python3; do
|
||||
python3.14 python3; do
|
||||
[[ -n "$candidate" ]] || continue
|
||||
if [[ "$candidate" == */* ]]; then
|
||||
resolved="$candidate"
|
||||
|
||||
@@ -33,8 +33,8 @@ PUBLIC_DIR = ROOT / "public"
|
||||
RUNTIME_DIR = ROOT / ".runtime"
|
||||
NODE_DIR = RUNTIME_DIR / "node"
|
||||
INSTALL_ENV_FILE = ROOT / ".moviepilot.env"
|
||||
MIN_PYTHON_VERSION = (3, 12)
|
||||
SUPPORTED_PYTHON_TEXT = "Python 3.12+"
|
||||
MIN_PYTHON_VERSION = (3, 14)
|
||||
SUPPORTED_PYTHON_TEXT = "Python 3.14+"
|
||||
UV_VERSION = "0.12.5"
|
||||
|
||||
CONFIG_DIR = LEGACY_CONFIG_DIR
|
||||
@@ -2722,7 +2722,7 @@ def install_deps(*, python_bin: str, venv_dir: Path, recreate: bool) -> Path:
|
||||
venv_dir
|
||||
):
|
||||
raise RuntimeError(
|
||||
"重建虚拟环境需要使用 venv 外部的 Python 3.12+ 解释器。"
|
||||
"重建虚拟环境需要使用 venv 外部的 Python 3.14+ 解释器。"
|
||||
)
|
||||
uv_bin = require_uv()
|
||||
temporary_uv_dir: Optional[TemporaryDirectory[str]] = None
|
||||
@@ -3719,7 +3719,7 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
install_parser.add_argument(
|
||||
"--python",
|
||||
default=DEFAULT_BOOTSTRAP_PYTHON,
|
||||
help="用于创建虚拟环境的 Python 解释器,默认自动选择本地 3.12+ 版本",
|
||||
help="用于创建虚拟环境的 Python 解释器,默认自动选择本地 3.14+ 版本",
|
||||
)
|
||||
install_parser.add_argument(
|
||||
"--venv", default=str(ROOT / "venv"), help="虚拟环境目录"
|
||||
@@ -3781,7 +3781,7 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
setup_parser.add_argument(
|
||||
"--python",
|
||||
default=DEFAULT_BOOTSTRAP_PYTHON,
|
||||
help="用于创建虚拟环境的 Python 解释器,默认自动选择本地 3.12+ 版本",
|
||||
help="用于创建虚拟环境的 Python 解释器,默认自动选择本地 3.14+ 版本",
|
||||
)
|
||||
setup_parser.add_argument("--venv", default=str(ROOT / "venv"), help="虚拟环境目录")
|
||||
setup_parser.add_argument(
|
||||
@@ -3853,7 +3853,7 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
update_parser.add_argument(
|
||||
"--python",
|
||||
default=DEFAULT_BOOTSTRAP_PYTHON,
|
||||
help="用于安装后端依赖的 Python 解释器,默认自动选择本地 3.12+ 版本",
|
||||
help="用于安装后端依赖的 Python 解释器,默认自动选择本地 3.14+ 版本",
|
||||
)
|
||||
update_parser.add_argument(
|
||||
"--venv", default=str(ROOT / "venv"), help="虚拟环境目录"
|
||||
|
||||
Reference in New Issue
Block a user