Stockfish国际象棋引擎在Heroku上获得:“ EngineTerminatedError:引擎进程意外终止”

问题描述

我正在尝试构建一个具有python后端和React前端的AI国际象棋机器人。当我在本地运行它时,它工作正常,但是当免费在Heroku上部署时,出现以下错误消息:

结果= engine.play(板,国际象棋.engine.Limit(时间= 0.1)) Chess.engine.EngineTerminatedError:引擎进程意外死亡(退出代码:0)

Linux stockfish文件在Heroku bash上运行良好。

这是我的代码

data=files.upload()

line=pd.read_excel(io.BytesIO(data["line fixing.xls"]))
kg=pd.read_excel(io.BytesIO(data["kg fixing.xls"]))
vol=pd.read_excel(io.BytesIO(data["vol  fixing.xls"]))
Master=pd.read_excel(io.BytesIO(data["Volume_Pallet.xls"]))
area=pd.read_excel(io.BytesIO(data["area fixing.xls"]))
Format_out=pd.read_excel(io.BytesIO(data["Formate_output.xls"]))
pallet_num=pd.read_excel(io.BytesIO(data["Pallet_number.xls"]))

以下是日志的一部分:

调试:chess.engine::>> uciok

调试:chess.engine:

调试:chess.engine:

调试:chess.engine::进程已退出

调试:chess.engine::连接丢失(退出代码:0,错误:无)

chess.engine.EngineTerminatedError:引擎进程意外死亡(退出代码:0)

解决方法

当我卸载eventlet时,它确实起作用了。我尝试将其卸载,因为它与asyncio非常相似,后者是python-chess的依赖项。