运行cDMN Python模块示例时遭遇/tmp/idp_temp.txt文件缺失错误
cDMN Python模块运行异常问题解决
一、警告问题说明
你遇到的Token 'NOT'/YES/NO等重复定义警告,以及No function glossary table found类提示,属于非致命性提示:
- 重复定义警告是模块内部词法分析器的关键字冲突问题,不影响核心功能,可忽略;
- 术语表未找到提示是因为示例文件未包含对应自定义函数/关系的术语表,若无需此类功能可直接忽略,需要的话按照文档要求在DMN表格中补充即可。
二、核心错误:FileNotFoundError 解决
这个错误的根源是Windows系统没有默认的/tmp目录,而模块代码硬编码了类Unix系统的临时路径,提供两种解决方式:
方式1:修改模块源码路径
- 找到API.py文件:路径为
C:\Users\<你的用户名>\AppData\Local\Programs\Python\Python38\Lib\site-packages\cdmn\API.py - 定位到第282行附近的
/tmp/idp_temp.txt代码行 - 将其替换为Windows兼容的临时路径写法:
这样会自动使用Windows系统的默认临时目录。# 先确保文件顶部导入了os模块,没有的话加一行:import os with open(os.path.join(os.getenv('TEMP'), 'idp_temp.txt'), mode='w', encoding='utf-8') \
方式2:手动创建临时目录
在Windows系统的C盘根目录创建tmp文件夹(即C:\tmp),模块就能找到对应路径,无需修改源码。
方式3:重新安装模块(可选)
若怀疑模块安装不完整,可尝试重装:
pip uninstall cdmn pip install cdmn --force-reinstall
但此方法大概率无法解决路径硬编码问题,仅作为补充排查步骤。
内容的提问来源于stack exchange,提问作者diorosso
相关产品推荐
相关产品推荐

