You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过AutoHotkey运行Python文件时,导入自定义模块终端闪退求助

解决AutoHotkey运行Python脚本导入自定义模块时闪退的问题

1. 先捕获导入模块的具体错误

窗口直接关闭导致看不到报错,先修改Python脚本,添加错误捕获和窗口暂停逻辑:

import time
print("this works")
try:
    import screeny_console as sc
    print("this works too!")
except Exception as e:
    print(f"导入模块出错: {str(e)}")
# 暂停窗口,按任意键关闭
input("按任意键退出...")

用AHK运行修改后的脚本,就能看到具体的错误信息,这是定位问题的关键。

2. 排查模块路径问题

AHK运行脚本时的工作目录可能和你直接运行Python脚本时不同,导致Python找不到自定义模块。可以手动添加模块路径:

import sys
import os
# 将自定义模块所在目录添加到Python的搜索路径
# 假设screeny_console.py和当前脚本在同一文件夹
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
# 也可以直接写模块的绝对路径,比如:
# sys.path.append("D:/Projects/your_module_folder")

import time
print("this works")
import screeny_console as sc
print("this doesn't work")
input("按任意键退出...")

3. 检查AHK调用Python的命令

确保AHK里调用的Python版本和你开发时用的一致,避免虚拟环境或版本差异导致模块未安装:

; 示例AHK脚本,使用Python的完整路径调用
Run, "C:/Python310/python.exe" "D:/Scripts/your_script.py", , UseErrorLevel
; 如果用了虚拟环境,要调用虚拟环境内的python.exe
; Run, "D:/Projects/venv/Scripts/python.exe" "D:/Scripts/your_script.py", , UseErrorLevel

4. 检查自定义模块本身的问题

如果捕获到的错误来自模块内部,比如模块里有语法错误、引用了不存在的文件,直接修改screeny_console.py里的问题即可。

内容的提问来源于stack exchange,提问作者jimmybunn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:30:22