gpt4 book ai didi

python - 如何在交互式 python 环境中导入 Odoo/OpenERP Addon 模块?

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:35 25 4
gpt4 key购买 nike

如何从 python shell 导入 Odoo/OpenERP 插件模块?

我想进一步了解 Odoo 的结构。我更喜欢通过 IPython 来做到这一点,但我不确定如何将插件导入到环境中。对于开始,我只想将默认插件加载到我的环境中。所以我只是从默认的 Product 模块中复制了一行。我没有修改源代码中的任何内容。我一直在 grep 浏览源代码,以找出为什么我不能简单地在我习惯使用 Python 的方式中导入插件。

我的 Odoo 安装工作正常。

$ cd /opt/odoo

$ ipython

In [1]: import openerp

In [2]: openerp.modules.module?

[not much luck]

In [3]: openerp.addons?

[not much luck either, nothing here either]

In [4]: import openerp.addons

[no error]

In [5]: import openerp.addons.decimal_precision as dp # Line from addons/product/product.py

[....]

ImportError: No module named decimal_precision

openerp.addons 没有任何东西,但 import openerp.addons.STUFF 可以在 Odoo 插件模块中正常工作。

我觉得 addons 需要初始化,但我还没有找到该怎么做。我开始浏览 openerp.main.cli() 中的代码。

openerp.tools.config.parse_config() 是朝着正确方向迈出的一步,但这还不够。我还需要以某种方式传递 --addons-path=addons(因为 Odoo 不够智能,无法找到自己的插件)。

最佳答案

我的建议是使用 Odoo shell 命令:

$ ./odoo.py shell -d <your_db>

您将获得一个带有 self 的交互式 shell,就好像您在模型方法中一样,尽管是在纯 Python 而不是 IPython 中。它在 9.0 中可用,并且有一个 community backport for 8.0 .

另一种选择是使用 ERPPeek :它是一个 Python 客户端,连接到远程 Odoo 服务器,可以运行与服务器中使用的命令类似(但不相同)的交互式命令。这样做的一个好处是您不需要在您身边安装 Odoo,并且可以选择使用您喜欢的 Python 版本运行 ERPPeek。

关于python - 如何在交互式 python 环境中导入 Odoo/OpenERP Addon 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24738430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com