Odoo 13 如何安装自定义模块
Posted
技术标签:
【中文标题】Odoo 13 如何安装自定义模块【英文标题】:Odoo 13 How Install Custom Module 【发布时间】:2020-08-14 19:23:59 【问题描述】:从一开始我就一直在使用 Odoo。这可能是世界上记录最差的软件之一。我试过在他们的论坛上问这个问题,但在你拥有 x 数量的业力之前,你不能发帖,而你似乎只有在通过他们购买课程时才能获得。
我已经按照 Ubuntu 源的安装教程通过https://www.odoo.com/documentation/13.0/setup/install.html#id7 到 T.
我设法启动了干净的香草版本并进入了超级用户模式,顺便说一句,它也被疯狂地隐藏在如何启用它上。然后进入实际设置需要您至少安装一个应用程序。这对我来说完全没有意义。
无论如何,我最终找到了如何完成上述基本操作的点。现在我想按照您自己的教程创建一个自定义模块:https://www.odoo.com/documentation/13.0/howtos/backend.html#。
我使用脚手架命令来启动模块的快速创建。到目前为止,一切都很好。但是当我真的想把它加载到 Odoo 中时,一切似乎都崩溃了。我已经搜索了几个小时,最终在各种来源上得到了相同的说明:转到应用程序 > 更新应用程序列表并刷新。什么都没发生。绝对没有。我删除任何过滤器并搜索自定义模块的名称,但它不存在。
我完全是空的,完全被困住了。缺乏文档和可以找到的少数文档似乎甚至无法正常工作。
所以在我永远放弃 Odoo 之前:如何创建模块并将其添加到 Odoo?!
在你问之前,我已经尝试了所有我能想到的:
-从头开始,干净安装超过 5 次
-我什至完全擦除了 UBUNTU 并从头开始重新启动
-我尝试搭建脚手架,重新启动 Odoo,手动添加,将插件的路由修改到配置中,在不同的目录中创建了我的客户模块,以不同的方式命名,填写清单,绝对没有任何效果。
如果有人可以在这里帮助我,我将不胜感激,但我不抱太大希望。当谈到 Odoo 时,我的拉丁文和耐心已经到了尽头。
【参考方案1】:1) 从 odoo 商店下载一个免费模块(确保自定义模块没有问题)
2) 将包含清单文件的文件夹复制到 .conf 文件中定义的 addons 文件夹
3) 进入设置并激活开发者模式(您必须是管理员)
4) 进入应用程序,激活开发者模式后,您可以更新应用程序列表(左上角第四个按钮)
5) 现在只需搜索你的模块并安装它
【讨论】:
【参考方案2】: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 内部配置:]
;addons_path = /usr/lib/python3/dist-packages/odoo/addons
addons_path = /var/lib/odoo/.local/share/Odoo/addons/13.0
第 3 部分)文件夹的权限
现在,将默认目录的插件文件夹的“权限号”与您添加的插件进行比较。 如果你进入 /usr/lib/python3/dist-packages/odoo 然后你写:
stat -c %a addons/
您可以看到权限,在本例中为 755
如果你写:ls -lath
你也可以看到插件文件夹的所有者信息,在这种情况下是root:root
现在,将这些信息与路径中的其他插件文件夹进行比较:
/var/lib/odoo/.local/share/Odoo/
如果有任何差异,可以使用命令进行调整:
sudo chown -R root:root /var/lib/odoo/.local/share/Odoo/
注意:这取决于您的机器中的用户以及有权启动 Odoo 服务的用户。
sudo service odoo restart
另外,当我更改文件夹中的权限时,我注意到日志中出现“Permission denied”错误
PermissionError: [Errno 13] Permission denied: '/var/lib/odoo/.local/share/Odoo/sessions/xxxx'
因此,在 Odoo 使用的以下文件夹中拥有正确的权限也很重要:
插件 会话 文件存储Part 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 中有以下模块:
account_analytic_parent analytic_base_department account_analytic_required analytic_tag_dimension mrp_analytic oca_dependencies.txt 采购_mto_analytic product_analytic purchase_analytic setup stock_analytic所以,如果我搜索例如:analytic_base_department
什么也没找到,但是如果我将模块移到组外,在前面的一条路径中,然后我重新启动服务器并更新应用程序列表,那么神奇的事情就会发生:
sudo mv analytic_base_department ../
sudo service odoo restart
如果您的自定义模块尊重您构建模块时建议的 hyrarchy,也会发生同样的情况:清单、视图、模块、控制器等。
请记住,Odoo 的隐藏问题之一是了解服务的文件夹权限并很好地实现它们。
【讨论】:
以上是关于Odoo 13 如何安装自定义模块的主要内容,如果未能解决你的问题,请参考以下文章
odoo首页添加自定义模块,修改代码后报错,请问各路大神啥情况
Odoo8在TreeView左上角增加自定义按钮以及通过继承生成自定义的View_Mode