import sys
import os
import multiprocessing

# ============================================================
# 0. Matplotlib 非交互式后端（必须在导入 matplotlib.pyplot 之前设置）
#    plot_MI_EEG.py 等模块会用到 pyplot，必须在打包后的无显示器环境下工作
# ============================================================
if getattr(sys, 'frozen', False):
    import matplotlib
    matplotlib.use('Agg')
    os.environ.setdefault('MPLBACKEND', 'Agg')

# 1. 路径自适应：在 Frozen 模式下，将当前工作目录切换到可执行文件所在目录
# 这样代码中使用的相对路径（如 './config.ini'）就能正确指向 exe 旁边的文件
if getattr(sys, 'frozen', False):
    os.chdir(os.path.dirname(sys.executable))

# 2. 多进程保护：防止 Windows 下的无限递归炸弹
# Windows 下 multiprocessing 需要 freeze_support()
if sys.platform.startswith('win'):
    multiprocessing.freeze_support()
