1

我制作了一个 GUI(使用 PySimpleGUI),您可以在其中与 Stockfish 对战(我使用了 python-chess 模块)。我使用 Pyinstaller --noconsole 创建了一个 .exe 文件,但是当我运行它时,它会在控制台中打开 Stockfish。当我从源代码运行它时,在 PyCharm 中,Stockfish 在后台静默运行。

相关的代码行是(我猜):

engine = chess.engine.SimpleEngine.popen_uci(engine_filename, shell = False)

稍后,

best_move = engine.play(board, chess.engine.Limit(depth=20)).move

关于如何让 Stockfish 在后台静默运行的任何建议也形成 .exe 文件?

4

1 回答 1

1

如下定义您的引擎。

import subprocess

engine = chess.engine.SimpleEngine.popen_uci(
            engine_filename,
            shell = False,
            creationflags=subprocess.CREATE_NO_WINDOW)

请参阅python 子进程参考。

于 2021-12-14T13:07:47.730 回答