fix: 移除 native 模式下的 run.io_bound() 调用
- 在 native=True 模式下不能使用 run.io_bound() 执行 CPU 密集型任务 - 将 PowerShell 调用改为同步执行 subprocess.run() - 解决 'Unable to run CPU-bound in script mode' 错误
This commit is contained in:
8
gui.py
8
gui.py
@@ -399,18 +399,14 @@ def index():
|
|||||||
|
|
||||||
print("DEBUG: invoking PowerShell SaveFileDialog...")
|
print("DEBUG: invoking PowerShell SaveFileDialog...")
|
||||||
|
|
||||||
# 使用 run.io_bound 在线程中执行,避免阻塞 UI
|
# 在 native 模式下直接同步执行,不使用 run.io_bound()
|
||||||
def run_ps():
|
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
["powershell", "-Command", ps_script],
|
["powershell", "-Command", ps_script],
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
text=True,
|
||||||
startupinfo=startupinfo
|
startupinfo=startupinfo
|
||||||
)
|
)
|
||||||
return result.stdout.strip()
|
save_path = result.stdout.strip()
|
||||||
|
|
||||||
from nicegui import run
|
|
||||||
save_path = await run.io_bound(run_ps)
|
|
||||||
|
|
||||||
if save_path:
|
if save_path:
|
||||||
print(f"DEBUG: PowerShell returned path: {save_path}")
|
print(f"DEBUG: PowerShell returned path: {save_path}")
|
||||||
|
|||||||
Reference in New Issue
Block a user