Odoo Enterprise自定义addon_path无法识别问题求助
解决Odoo 14 Enterprise自定义Addons目录不加载模块的问题
我之前部署Odoo企业版时也碰到过几乎一模一样的问题,结合你给出的信息,咱们可以从这几个方向排查解决:
1. 检查模块的__manifest__.py文件是否合法
Odoo识别模块的核心是根目录下的__manifest__.py文件(Odoo 10+版本统一用这个,旧版本是__openerp__.py),如果这个文件有语法错误或者必填字段缺失,Odoo会直接跳过该模块。
- 先检查文件语法:
如果有语法错误,命令会直接输出错误信息,修复后再重试。python3 -m py_compile /odoo/custom/addons/你的模块目录/__manifest__.py - 确认必填字段完整:比如
name、version、depends、author这些字段必须存在,且depends里的依赖模块都是Odoo已安装的(base模块是必须依赖项)。
2. 清理Odoo缓存并强制更新模块列表
有时候Odoo会缓存模块信息,即使路径配置正确也不会重新扫描:
- 先停止Odoo服务:
service odoo-server stop - 删除Odoo的会话缓存目录:
rm -rf /var/lib/odoo/sessions/* - 重启服务后,进入开发者模式,点击「更新模块列表」时,勾选强制更新选项(在弹出的操作窗口里),再执行更新操作。
3. 验证自定义目录的完整权限链
你提到/odoo/custom/addons的权限是odoo:odoo和755,但要注意上级目录的权限也会影响Odoo的访问权限:
- 检查
/odoo/custom目录的权限:
如果所有者不是ls -ld /odoo/customodoo:odoo,或者没有执行权限(权限位不是755),Odoo进程无法遍历进入子目录。修复命令:chown -R odoo:odoo /odoo/custom chmod -R 755 /odoo/custom
4. 查看详细日志定位加载失败原因
你目前只看到路径被识别,但可以通过调高日志级别查看模块加载的细节:
- 编辑
/etc/odoo-server.conf,添加或修改日志级别配置:log_level = debug - 重启服务后,再次更新模块列表,然后实时查看日志:
日志里会显示每个模块的加载状态,如果某个模块加载失败,会有明确的错误提示(比如依赖缺失、文件权限不足等)。tail -f /var/log/odoo/odoo-server.log
5. 检查模块是否与现有模块重名
Odoo会按照addons_path里的顺序加载模块,如果自定义目录里的模块和enterprise/addons或odoo-server/addons里的模块重名(目录名或__manifest__.py里的name字段重复),后面的模块会被直接忽略。可以对比现有模块的名称,确保自定义模块唯一。
按照上面的步骤逐一排查,应该能解决模块不显示的问题。
内容的提问来源于stack exchange,提问作者Augusto Murri
相关产品推荐
相关产品推荐

