* pyproject:wheel 打三个包(sqlite_vfs + svfs_studio + svfs_client)——两个桌面 应用的 console script 都声明在同一个发行版里,只打核心包会让 pip 装完 `svfs-client` 命令存在而模块缺失(跑起来是 ImportError);extras 拆成 client(完整 PySide6,WebEngine 必需)/ studio(PySide6-Essentials 够用)/ gui(两者合集,保留旧写法)。实测重建 wheel 三个包齐全、纯标准库层在无 PySide6 的环境里可导入; * packaging/:PyInstaller spec(白名单裁剪 Qt 体积,DevTools/QML/opengl32sw 的 裁剪依据都记在注释里)与 build.py 编排;Nuitka 路线的已知问题(编译后 Shiboken 无法导入)写在脚本注释里,推荐走 PyInstaller; * .github/workflows/tests.yml:windows + ubuntu 双跑。文件头注明了两个尚未在真 runner 上验证过的点——依赖索引(pyproject 默认指清华镜像,CI 里用 UV_DEFAULT_INDEX 覆盖回 PyPI)与 Linux 上 Qt 需要的系统库; * README:按实现重新对齐——登录与认证(凭据存储、会话失效反馈、离线宽限)、 可靠性与诊断(客户端自更新、网络超时/重试/代理/CA、日志落盘)、plugin.json 的 net_hosts、数据目录(credentials.dat / logs)、桥 API、安装方式与 extras。 uv.lock 同步(dev 组与 extras)。
15 lines
409 B
Python
15 lines
409 B
Python
#!/usr/bin/env python3
|
||
"""SVFS Studio 的打包入口(PyInstaller / Nuitka 共用)。
|
||
|
||
不能用 ``src/svfs_studio/__main__.py`` 直接当主脚本——里面有相对导入
|
||
(``from .app import main``),作为顶层脚本运行会 ImportError。
|
||
冻结工具都从这里的绝对导入起步。
|
||
"""
|
||
|
||
import sys
|
||
|
||
from svfs_studio.__main__ import main
|
||
|
||
if __name__ == "__main__":
|
||
sys.exit(main())
|