Odoo 13如何安装自定义模块

时间:2020-04-30 12:20:07

标签: python odoo

自开始以来,我一直在与Odoo斗争。这可能是世界上记录最烂的软件之一。我试着在他们的论坛上问这个问题,但是直到您获得x的因果报酬(您只能通过他们购买课程时才得到),您才可以发帖。

我已经通过https://www.odoo.com/documentation/13.0/setup/install.html#id7到T上查看了Ubuntu源码的安装教程。

我设法启动了干净的原始版本并进入超级用户模式,顺便说一句,对于如何启用它,它也像疯了似的被隐藏了。然后转到实际设置需要您至少安装一个应用程序。这对我来说绝对没有意义。

无论如何,我最终到达了发现如何做以上基本事情的地步。现在,我想按照您自己的教程https://www.odoo.com/documentation/13.0/howtos/backend.html#创建一个自定义模块。

我使用scaffold命令来启动模块的快速创建。到现在为止还挺好。但是,当我真正想要将其装入Odoo时,一切似乎都崩溃了。我搜索了几个小时,最后在各种来源上得到相同的指示:转到应用程序>更新应用程序列表并刷新。没发生什么事。绝对没有。我删除所有过滤器,然后搜索自定义模块的名称,但该名称不存在。

我完全是空的,完全被困住了。缺少文档和少量文档似乎无法正常工作。

因此,在我永久放弃Odoo之前:如何创建一个模块并将其添加到Odoo?!

在你问我之前,我已经尝试了所有我能想到的东西:

-从头开始,干净安装5次以上

-我什至完全擦除了UBUNTU并从头开始重启

-我曾尝试搭建脚手架,重新启动Odoo,手动添加它,将插件的路径修改为config,在另一个目录中创建了我的custome模块,并以不同的方式命名,填充了清单,绝对没什么用。 / p>

如果有人能在这里为我提供帮助,我将不胜感激,但我寄予厚望。当涉及到Odoo时,我正处于拉丁语和耐心的尽头。

2 个答案:

答案 0 :(得分:1)

1)从odoo商店下载免费模块(以确保自定义模块没有问题)

2)将包含清单文件的文件夹复制到.conf文件中定义的addons文件夹

3)转到设置并激活开发人员模式(您必须是管理员)

4)转到应用程序,并在激活开发人员模式后,您可以更新应用程序列表(左上方的第四个按钮)

5)现在,只需搜索模块并安装

答案 1 :(得分:0)

Odoo的安装过程可能有所不同,这取决于您决定使用git还是apt软件包。

第1部分) 我已经通过以下方式在Ubuntu Server 20中安装了Odoo 13:

sudo apt update
sudo apt upgrade
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -

echo "deb http://nightly.odoo.com/13.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list

sudo apt update
sudo apt install odoo

sudo service odoo status
sudo systemctl enable --now odoo

(通过这种方式,odoo进程可以自动启动)

第2部分)这里是Odoo的配置文件:

sudo nano /etc/odoo/odoo.conf

当您看到Odoo日志正在运行时,例如:

sudo tail -f  /var/log/odoo/odoo-server.log

您可以查看正在使用的目录,在这种情况下,日志报告:

[...] INFO ? odoo: addons paths: ['/usr/lib/python3/dist-packages/odoo/addons', '/var/lib/odoo/.local/share/Odoo/addons/13.0'] 

默认情况下,Odoo服务器从 dist-packages 目录中获取默认插件。其他路径由您决定,但请记住文件夹权限的重要性。

[内部Odoo conf:]

;addons_path = /usr/lib/python3/dist-packages/odoo/addons
addons_path = /var/lib/odoo/.local/share/Odoo/addons/13.0

第3部分)文件夹的权限

现在,将默认目录的addons文件夹的“权限号”与您添加的插件进行比较。 如果您进入/ usr / lib / python3 / dist-packages / odoo 然后你写:

stat -c %a addons/

您可以看到权限,在本例中为755

如果您输入:ls -lath,您还可以看到addons文件夹的所有者信息,在本例中为root:root enter image description here

现在,将这些信息与其他addons文件夹(路径中的文件夹)进行比较:

/var/lib/odoo/.local/share/Odoo/

如果有任何差异,可以使用以下命令进行调整:

sudo chown -R root:root  /var/lib/odoo/.local/share/Odoo/

注意:这取决于您计算机中的用户以及具有启动Odoo服务特权的用户。

sudo service odoo restart

此外,当我更改文件夹中的权限时,我在日志中注意到“ 权限被拒绝”错误

PermissionError: [Errno 13] Permission denied: '/var/lib/odoo/.local/share/Odoo/sessions/xxxx' 

因此,在Odoo使用的以下文件夹中拥有正确的权限也很重要:

  • 插件
  • 会话
  • 文件存储

enter image description here

第4部分)测试附件的文件夹,注意附件的分组

我已经测试了此配置,并使用我在其中运行的以下简单脚本对一个OCA插件进行了 git checkout /var/lib/odoo/.local/share/Odoo/addons/13.0

mkdir account-analytic
cd account-analytic
git init
git remote add origin https://github.com/OCA/account-analytic.git
git pull origin 13.0

我已经意识到模块帐户分析模块是一组模块,因此无法按我预期的那样工作。 在帐户分析内部,有以下模块:

  • account_analytic_parent analytic_base_department account_analytic_required analytic_tag_dimension mrp_analytic oca_dependencies.txt采购_mto_analytic产品_analytic Purchase_analytic设置stock_analytic

enter image description here

所以,如果我搜索例如: analytic_base_department

enter image description here

一无所获,但是如果我将模块移到组外,向前移动一条路径,然后重新启动服务器并 Update 应用程序列表,那么魔术就发生了:

sudo mv analytic_base_department ../
sudo service odoo restart

enter image description here

如果您的自定义模块遵守构建模块时建议的提示:清单,视图,模块,控制器等,也会发生同样的情况。

请记住,Odoo的隐藏问题之一是了解服务的文件夹权限并很好地实现它们。