读取Parquet文件时内核崩溃及Numpy运行时错误求助
解决Numpy兼容性导致的内核崩溃与运行错误问题
从你遇到的报错和环境配置来看,这个问题的核心是Numpy与Windows运行时的兼容性bug——那些DGEBAL、DGEHRD之类的LAPACK相关错误,其实是这个兼容性问题的连锁反应,最终触发了Numpy的sanity check失败。我给你几个针对性的解决步骤,按顺序尝试就行:
方法1:升级Numpy到兼容版本
你的环境里的Numpy版本应该触发了这个Windows特定的bug,直接升级到修复该问题的版本是最直接的方案:
- 打开终端,执行升级命令:
如果你担心新版本和pandas 1.1.4有依赖冲突,可以指定一个对Python3.8和Windows兼容性都很好的稳定版本:pip install --upgrade numpypip install numpy==1.23.5
方法2:降级Numpy到无bug的旧版本
如果升级后出现依赖冲突(比如pandas 1.1.4对Numpy版本有严格限制),可以尝试降级到1.19.3版本——这个版本还没引入那个Windows runtime的问题:
pip install numpy==1.19.3
方法3:验证Parquet文件读取逻辑
在解决Numpy的问题后,你可以先测试最基础的Parquet读取代码,确认逻辑没问题:
import pandas as pd # 用pyarrow引擎读取测试 df = pd.read_parquet("userdata1.parquet", engine="pyarrow") print(df.head())
如果还是有异常,可以跳过pandas,直接用pyarrow读取来排查是否是文件本身的问题:
import pyarrow.parquet as pq table = pq.read_table("userdata1.parquet") df = table.to_pandas() print(df.head())
方法4:检查Windows系统更新
这个bug的根源也和Windows旧版本的运行时库有关,确保你的Windows 10/11已经安装了最新的累积更新,更新完成后重启电脑再运行代码,可能会解决底层的runtime问题。
内容的提问来源于stack exchange,提问作者YasserKhalil
相关产品推荐
相关产品推荐

