这个报错是 OpenBLAS 在初始化时尝试分配内存缓冲区,连续失败 10 次后放弃。结合你运行的 add_close_price.py 只做 Tushare 数据拉取和 pandas 处理,本身计算量很小,最可能的原因是 OpenBLAS 按 CPU 核心数预分配的线程缓冲区总大小超过了系统可用内存或提交限制。
直接解决办法
在运行脚本之前,先在 PowerShell 里设置环境变量,强制 OpenBLAS 只用 1 个线程:
$env:OPENBLAS_NUM_THREADS=1$env:OMP_NUM_THREADS=1为什么这样做有效
OpenBLAS 会为每个 CPU 线程预先分配内存缓冲区。在 Windows 上,numpy 导入时 OpenBLAS 按核心数提交(commit)内存,而不只是保留(reserve)虚拟地址。如果你的机器核心数较多,或者系统本身可用内存/提交限制比较紧张,这个预分配就可能失败。设置 OPENBLAS_NUM_THREADS=1 会把缓冲区数量降到最低,从而绕过这个分配瓶颈。