67 浏览
0

程序连接TqKq模拟账号时,用pyinstaller打包后运行正常;但连接Simnow账号或期货公司账号时,打包后运行时出现ctpse error,是什么原因?如何解决?

chaos 已回答的问题 1天 前
0

我们没有打包场景的测试,TqKq(快期模拟)不需要穿透式监管的 CTP SE;TqAccount(Simnow/期货公司)需调用 tqsdk_ctpse.get_system_info() 采集穿透式监管信息。

可能的原因是tqsdk_ctpse 通过 Path(__file__)/”WinDataCollect64.dll” 动态加载原生 DLL,PyInstaller 不会自动检测非字面量路径。所以打包后 tqsdk_ctpse 的 WinDataCollect64.dllWinDataCollect64_sc.dll 未被包含,导致加载失败并出现 ctpse error。

你可以试试打包时能否包含 tqsdk_ctpse 及其 DLL

chaos 发表新评论 1天 前

可以找到WinDataCollect64.dll文件;可是没找到WinDataCollect64_sc.dll文件。但不打包连接期货公司实盘账号运行 .py程序时,完全正常,没有出现 ctpse error. 你确信WinDataCollect64_sc.dll文件也是必须的吗?

就windatacollect64.dll就可以了哈,另个文件不是必须的回复错了上面不好意思

您正在查看1个答案中的1个,单击此处查看所有答案。