【发布时间】:2019-06-29 00:03:56
【问题描述】:
我正在使用 PyInstaller 将我的多模块 Python 应用程序捆绑到 one-file exe 中。这个应用程序的入口点是一个扩展 win32serviceutil.ServiceFramework 的模块——所以它是作为 Windows 服务运行的。当我尝试使用此应用程序提供用户可配置的记录器 ini 文件时出现问题。在我的主模块中,我设置了记录器,
log_file_path = path.join(path.dirname(path.abspath(__file__)), 'logging.conf')
logging.config.fileConfig(log_file_path)
我的 PyInstaller 命令如下:
pyinstaller -F <main-file>.py -n <exe-name> --hidden-import=win32timezone --add-data "logging.conf;."
打包后,我将生成的 exe 安装为服务,并成功注册为 Windows 服务。但是,当我尝试启动它时,它会失败。
有趣的是,在我配置的位置创建了一个空日志文件。所以这意味着 1) 应用程序确实读取了我的配置文件,并且 2) 这里没有权限问题。有没有人尝试设置这样的东西来帮助阐明我可能缺少的东西?
【问题讨论】:
-
嗨,有什么例外?
-
@jspcal 我只是从 Windows 收到“服务没有及时响应控制请求”消息。未指示异常或调用堆栈。
标签: python windows-services pyinstaller python-logging