Skip to content

Commit 9608892

Browse files
author
petehsu
committed
fix: Add explicit imports at top of run.py for PyInstaller detection
- Added 40+ explicit imports at module level in run.py - This forces PyInstaller's static analysis to detect all kiro_proxy modules - No more conditional/dynamic imports that PyInstaller might miss - Version 1.7.10 Key insight: PyInstaller analyzes imports at the module level, not inside if blocks. By adding explicit imports at the top, we guarantee detection.
1 parent 61d22ab commit 9608892

3 files changed

Lines changed: 41 additions & 2 deletions

File tree

build.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from pathlib import Path
1616

1717
APP_NAME = "KiroProxy"
18-
VERSION = "1.7.9"
18+
VERSION = "1.7.10"
1919
MAIN_SCRIPT = "run.py"
2020
ICON_DIR = Path("assets")
2121

kiro_proxy/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ def run(port: int = 8080):
551551
from .core import state
552552
state.current_port = port # 设置当前端口供 WebUI 显示
553553
print(f"\n{'='*50}")
554-
print(f" Kiro API Proxy v1.7.9")
554+
print(f" Kiro API Proxy v1.7.10")
555555
print(f" http://localhost:{port}")
556556
print(f"{'='*50}\n")
557557
uvicorn.run(app, host="0.0.0.0", port=port)

run.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,45 @@
22
"""Kiro API Proxy 启动脚本"""
33
import sys
44

5+
# ============================================================
6+
# PyInstaller 显式导入块
7+
# 这些导入确保 PyInstaller 能够检测到所有必要的模块
8+
# 不要删除这些导入,即使 IDE 显示它们未被使用
9+
# ============================================================
10+
import kiro_proxy
11+
import kiro_proxy.main
12+
import kiro_proxy.launcher
13+
import kiro_proxy.cli
14+
import kiro_proxy.config
15+
import kiro_proxy.converters
16+
import kiro_proxy.web
17+
import kiro_proxy.web.html
18+
import kiro_proxy.web.i18n
19+
import kiro_proxy.core
20+
import kiro_proxy.core.account
21+
import kiro_proxy.core.state
22+
import kiro_proxy.core.persistence
23+
import kiro_proxy.core.scheduler
24+
import kiro_proxy.core.stats
25+
import kiro_proxy.core.retry
26+
import kiro_proxy.core.browser
27+
import kiro_proxy.core.flow_monitor
28+
import kiro_proxy.core.usage
29+
import kiro_proxy.handlers
30+
import kiro_proxy.handlers.anthropic
31+
import kiro_proxy.handlers.openai
32+
import kiro_proxy.handlers.responses
33+
import kiro_proxy.handlers.gemini
34+
import kiro_proxy.handlers.admin
35+
import kiro_proxy.credential
36+
import kiro_proxy.credential.types
37+
import kiro_proxy.credential.fingerprint
38+
import kiro_proxy.credential.quota
39+
import kiro_proxy.credential.refresher
40+
import kiro_proxy.auth
41+
import kiro_proxy.auth.device_flow
42+
# ============================================================
43+
544
if __name__ == "__main__":
645
# CLI 子命令模式
746
if len(sys.argv) > 1 and sys.argv[1] in ("accounts", "login", "status", "serve"):

0 commit comments

Comments
 (0)