调整odoo以自动发现已安装的加载项

odoo-autodiscover的Python项目详细描述


License: LGPL-3https://badge.fury.io/py/odoo-autodiscover.svghttps://travis-ci.org/acsone/odoo-autodiscover.svg?branch=master

增强odoo,无需 --addons-path选项。

对于Odoo8和Odoo9,它通过查看 odoo_addons命名空间包。对于奥多10和11来说 通过在pythonpath中查找odoo/addons目录来工作。

以这种方式安装的插件可以在 setuptools-odoo

如何安装

  • 创建一个virtualenv并确保您有一个最新版本的pip (通过运行pip install -U pip或使用 get-pip.py)。
  • 按照标准的odoo安装过程在virtualenv中安装odoo (一个好的方法是从odoo根目录运行pip install -e .)。
  • 确保ODOO安装正确:
    • pip list必须显示odoo
    • 对于odoo 8和9,运行python -c "import openerp.api" 并且openerp-server必须工作
    • 对于odoo 10和11,运行python -c "import odoo.api" 并且odoo必须工作
  • 安装此包(pip install odoo-autodiscover)。

如何使用

  • odoo/addons命名空间中创建和/或安装odoo插件(用于odoo 10和11) 或者odoo_addons命名空间(用于odoo 8和9)。 可能有setuptools-odoo包的帮助。
  • 像往常一样运行odoo并注意插件路径是自动扩展的。

完整示例

以下命令每晚安装odoo 8.0,然后 安装base_import_async拉取所有必需的依赖项 自动(即connector)。

它为来自pypi的oca插件使用预先构建的wheel包。

# create and activate a virtualenv
virtualenv venv
. ./venv/bin/activate
# install Odoo 8.0 nightly
pip install -r https://raw.githubusercontent.com/odoo/odoo/8.0/requirements.txt
pip install https://nightly.odoo.com/8.0/nightly/src/odoo_8.0.latest.zip
# install odoo-autodiscover
pip install odoo-autodiscover
# install base_import_async from pypi
pip install odoo8-addon-base_import_async --pre
# start odoo
openerp-server

此时,您应该在odoo日志中看到site packages目录出现在addons路径中。

你可以很容易地安装额外的插件。例如,如果你想要一个奥多8的外壳, 使用oca shell模块,只需pip安装模块:

pip install odoo8-addon-shell
openerp-server shell

要查看安装在virtualenv中的加载项包, 只需使用pip list | grep odoo<8|9|10>-addon-(注意官方插件 是odoo包的一部分)。

技术说明

使用odoo 8和9不可能使openerp.addons成为命名空间包 (因为openerp/__init__.py包含代码),我们使用一个名为 odoo_addons仅用于发现与 该命名空间中的setuptools。odoo_addons不打算导入 因为odoo导入钩子将确保所有插件都可以从 openerp.addons一如既往。

使用odoo 10,我们尝试使用pkg_资源风格的命名空间包。 它一直工作到setuptools 31,这时我们必须处理 https://github.com/acsone/setuptools-odoo/issues/10。因此解决办法 在odoo-autodiscover2.0中。

对于python 3下的odoo 11,我们希望可以使odoo-autodiscover过时 同样,这也是https://github.com/odoo/odoo/pull/19517的目的。

有关详细信息,请参见https://packaging.python.org/guides/packaging-namespace-packages/ 有关命名空间包的信息。

学分

作者:

多谢扫清道路的丹尼尔赖斯和劳伦特米农 我有可能使用标准的python安装工具来完成它,并且 odoo_addons命名空间包。

更改

2.0.0(2017-09-19)

  • 自动发现脚本的更好的弃用警告
  • setup.py和自述文件的改进
  • 在不需要odoo自动发现的地方添加odoo 11和python 3的测试

2.0.0b1(2017-09-17)

  • 主要重写:不是修改启动脚本,猴子补丁奥多, 使用一个导入后钩子,该钩子在odoo或openerps之后自动执行任务 已导入。
  • 对于odoo 10和11,不要依赖名称空间包,而是寻找odoo/addons pythonpath中的目录
  • 自动测试
  • odoo 10支持,解决https://github.com/acsone/setuptools-odoo/issues/10
  • 初步ODOO 11支持

1.0.3(2016-09-30)

  • 奥多自动探索是内置奥多10!

1.0.2(2016-02-06)

  • [imp]添加openerp gevent自动发现,并对prefork服务器进行monkey补丁 启动脚本而不是openerp gevent。

1.0.1(2015-12-30)

  • [fix]odoo-autodiscover.py:更可靠的发现和导入方法 正式的odoo.py脚本,所以现在在安装odoo时就可以工作了 从DEB包中

1.0.0(2015-12-28)

  • 初始稳定释放

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java向嵌入式Jetty添加多个端点   java如何在JAXWS处理程序中区分请求和响应?   使用Scenebuilder for JAVAFx的登录应用程序的java MVC体系结构   java对话框将不显示   Windows 7上的Java系统变量   java删除动态添加的面板   java将Javadoc嵌入到HTML网站中   带有URL编码数据的java Spring RestTemplate POST请求   java JAXR只运行一次函数   HttpClient缺少java依赖项   java深层反射比较   基于javarmi和CORBA的分布式计算   如何使用当前数据库时间从Java更新MongoDB?   java通过光标保存数据调试时显示错误数据