Win11下teradataml报写入垃圾回收器文件错误问题求助
解决Win11下teradataml v20.0.0.3的“TDML: Error occured while writing to garbage collector file”错误
问题现象
- Win11系统使用teradataml v20.0.0.3调用
Dataframe.from_query()时,触发错误:TDML: Error occured while writing to garbage collector file - 该异常会在teradataml的其他多个方法中触发
- Linux/WSL环境下无此问题
问题根源
teradataml包内的garbagecollector.py构造函数存在跨平台兼容bug:生成的垃圾回收器文件名包含Windows系统不允许的**冒号(:)**字符,导致无法创建或写入文件。
临时修复方案
手动修改garbagecollector.py的文件名生成逻辑,替换掉冒号:
- 找到teradataml安装路径下的
garbagecollector.py(通常位于Python安装目录\Lib\site-packages\teradataml\internals\garbagecollector.py) - 定位到构造函数中生成文件名的代码段,将带冒号的部分替换为Windows允许的字符(如下划线
_)- 示例:若原代码生成带时间戳的文件名(时间戳含冒号),修改为
filename = f"gc_{timestamp.replace(':', '_')}"
- 示例:若原代码生成带时间戳的文件名(时间戳含冒号),修改为
- 保存文件后重启Python环境,重新执行相关操作
内容的提问来源于stack exchange,提问作者yan-hic
相关产品推荐
相关产品推荐

