You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Odoo 11无法加载自定义模块,请求技术排查协助

解决Odoo 11自定义模块无法显示的问题

我看到你用Yenthe的脚本安装了Odoo 11,已经把自定义addons路径加到配置文件里,但更新应用列表后还是看不到自己的模块,而且已经给了权限、日志也没报错。这种情况通常是一些容易忽略的细节导致的,我给你列几个排查步骤,你逐一试试:

1. 确认自定义addons路径真的被Odoo识别

别光看配置文件,要验证Odoo是否真的加载了这个路径,以及路径本身没问题:

  • 登录服务器执行 ls -ld /odoo/custom/addons,确认这个文件夹确实存在
  • 用odoo用户身份检查权限:sudo -u odoo ls /odoo/custom/addons,如果能列出模块说明权限没问题;如果报错,可能是父目录(比如/odoo/custom)的权限没给对
  • 查看Odoo启动参数:执行 ps aux | grep odoo,看输出里有没有--config=/etc/odoo/[你的配置文件名].conf,如果没指定,Odoo可能用的是默认的~/.odoorc,你修改的/etc下的文件就没生效

2. 检查自定义模块的结构是否符合Odoo 11要求

Odoo对模块结构有严格要求,少了关键文件或字段就不会被识别:

  • 模块根目录必须有__manifest__.py文件(Odoo 11用这个,不是老版本的__openerp__.py),且必须包含核心字段,示例:
    {
        'name': '我的自定义模块',  # 会显示在应用列表的名称
        'version': '1.0',
        'author': '你的名字',
        'depends': ['base'],  # 至少依赖base模块
        'data': [
            # 这里放视图、菜单等文件路径,比如 'views/my_menu.xml'
        ],
        'installable': True,  # 必须设为True,否则不会出现在应用列表
        'auto_install': False,
    }
    
  • 模块文件夹名不能有空格、大写或特殊字符,必须是小写字母加下划线,比如my_custom_module

3. 开启Debug日志查看扫描过程

既然当前日志没报错,你可以重启Odoo时用更详细的日志级别,看看它扫描addons的过程:

  • 先停止Odoo服务,然后用命令启动:sudo -u odoo /odoo/odoo-server/odoo-bin --config=/etc/odoo/你的配置文件.conf --log-level debug
  • 前端点击「更新应用列表」,同时看终端日志,找addons_paths:确认自定义路径在列表里;再找loaded module看有没有你的模块名,看不到就说明模块没被识别

4. 清除缓存再尝试

浏览器或Odoo服务器缓存可能导致模块不显示:

  • 先重启Odoo服务器
  • 用浏览器隐私模式打开Odoo后台,登录后再点击「更新应用列表」,避免浏览器缓存影响

另外你提供的配置文件路径格式是正确的,多个路径用逗号分隔无空格问题:

[options]
; this is the password that allows database operation:
admin_passwd=****
db_port=5432
db_user=user_name
xmlrpc_port=8069
logfile=/var/log/odoo/odoo-server.log
addons_path=/odoo/enterprise/addons,/odoo/odoo-server/addons,/odoo/custom/addons

按照上面的步骤逐一排查,应该能找到问题所在。

内容的提问来源于stack exchange,提问作者Ndurere David

火山引擎 最新活动