diff --git a/src/pyflowx/cli/envdev.py b/src/pyflowx/cli/envdev.py index 0985d26..fc59c5c 100644 --- a/src/pyflowx/cli/envdev.py +++ b/src/pyflowx/cli/envdev.py @@ -49,11 +49,49 @@ CONDA_MIRROR_URLS: dict[str, list[str]] = { } +QT_LIBS: list[str] = [ + "build-essential", + "libgl1", + "libegl1", + "libglib2.0-0", + "libfontconfig1", + "libfreetype6", + "libxkbcommon0", + "libdbus-1-3", + "libxcb-xinerama0", + "libxcb-icccm4", + "libxcb-image0", + "libxcb-keysyms1", + "libxcb-randr0", + "libxcb-render-util0", + "libxcb-shape0", + "libxcb-xfixes0", + "libxcb-cursor0", +] + +CHINESE_FONTS: list[str] = [ + "fonts-noto-cjk", + "fonts-wqy-microhei", + "fonts-wqy-zenhei", + "fonts-noto-color-emoji", +] + + def main() -> None: """主函数.""" # 使用更安全的分步执行方式,便于调试和捕获错误 graph = px.Graph.from_specs([ + # 下载镜像 px.TaskSpec("download", cmd="curl -sSL https://linuxmirrors.cn/main.sh -o /tmp/linuxmirrors.sh", verbose=True), + # 安装镜像 px.TaskSpec("install", cmd="sudo bash /tmp/linuxmirrors.sh", verbose=True, depends_on=("download",)), + # 安装 PyQt 相关依赖 + px.TaskSpec( + "envqt_install", cmd=["sudo", "apt", "install", "-y", *QT_LIBS], verbose=True, depends_on=("install",) + ), + # 安装中文字体 + px.TaskSpec( + "envqt_fonts", cmd=["sudo", "apt", "install", "-y", *CHINESE_FONTS], verbose=True, depends_on=("install",) + ), ]) - px.run(graph, strategy="thread") + px.run(graph, strategy="thread", verbose=True) diff --git a/src/pyflowx/cli/envqt.py b/src/pyflowx/cli/envqt.py deleted file mode 100644 index 7d6b9d2..0000000 --- a/src/pyflowx/cli/envqt.py +++ /dev/null @@ -1,57 +0,0 @@ -"""PyQt 环境配置工具. - -用于设置 PyQt 相关环境变量, 安装依赖环境. -""" - -from __future__ import annotations - -import pyflowx as px -from pyflowx.conditions import Constants - -QT_LIBS: list[str] = [ - "build-essential", - "libgl1", - "libegl1", - "libglib2.0-0", - "libfontconfig1", - "libfreetype6", - "libxkbcommon0", - "libdbus-1-3", - "libxcb-xinerama0", - "libxcb-icccm4", - "libxcb-image0", - "libxcb-keysyms1", - "libxcb-randr0", - "libxcb-render-util0", - "libxcb-shape0", - "libxcb-xfixes0", - "libxcb-cursor0", -] - -CHINESE_FONTS: list[str] = [ - "fonts-noto-cjk", - "fonts-wqy-microhei", - "fonts-wqy-zenhei", - "fonts-noto-color-emoji", -] - - -def main() -> None: - """PyQt 环境配置工具主函数.""" - graph = px.Graph.from_specs( - [ - px.TaskSpec( - "envqt_install", - cmd=["sudo", "apt", "install", "-y", *QT_LIBS], - conditions=(lambda _: Constants.IS_LINUX,), - verbose=True, - ), - px.TaskSpec( - "envqt_fonts", - cmd=["sudo", "apt", "install", "-y", *CHINESE_FONTS], - conditions=(lambda _: Constants.IS_LINUX,), - verbose=True, - ), - ], - ) - px.run(graph, strategy="thread", verbose=True)