Odoo11库存模块安装失败:yaml.constructor.ConstructorError错误求助
Odoo 11 安装模块时 YAML ConstructorError 问题的修复方案
这个坑我之前帮朋友踩过,核心原因是PyYAML版本和Odoo 11不兼容——高版本的PyYAML默认禁用了自定义标签(比如!python)的解析,而Odoo 11的模块数据文件大量依赖这类标签完成初始化逻辑,直接导致加载失败。
下面是具体的解决步骤:
第一步:卸载当前的PyYAML版本
打开终端执行以下命令:pip uninstall -y pyyaml第二步:安装Odoo 11兼容的指定版本
Odoo官方测试过的稳定兼容版本是3.12,执行:pip install pyyaml==3.12第三步:重启Odoo服务
关掉当前运行的Odoo进程,重新启动服务,之后再尝试安装库存模块或者其他应用,应该就能正常加载了。
额外排查建议
如果执行完上面的步骤还是报错,建议检查Odoo源码里的stock/data/stock_data.yml文件,确保这个文件没有被篡改,里面的!python标签格式是正确的——比如你日志里提到的!python {model: ir.model.data, ...}这种写法是标准格式,要是文件被修改过可能也会触发解析错误。
内容的提问来源于stack exchange,提问作者Gajanan Kathar




