Odoo服务由systemctl start odoo
启动。我是Centos的用户。当我想更新我以前改变的* .py代码时:
1. systemctl stop odoo
Then I update my module and database by useing this:
2. ./odoo.py -c openerp-server.conf -u <my_module_name> -d <database_name>
3. stop service by ctrl + c
4. systemctl start odoo
但是更新更改真的很长而且不舒服。
是否有更短的方式以更短的方式进行相同的操作?
答案 0 :(得分:1)
您可以进行以下更改:
systemctl stop odoo
systemctl start odoo
。这里.py
已更新xml
或某些翻译,可以按模块说明表单上的Odoo界面上的Update
按钮。注意:有些模块可以重新加载特定的xml视图。如果您对此感兴趣,我可以查看是否找到了。
如果您在本地计算机上进行开发,则无需使用systemctl
。只需使用odoo.py
直接运行Odoo,您就可以立即看到更改:
./odoo.py -c openerp-server.conf -u <my_module_name> -d <database_name>
还有另一个选项可以在python文件发生变化时重新加载。检查此other answer:
通常,如果更改python代码意味着,则需要重新启动 服务器以应用新的更改。
启用
--auto-reload
参数意味着,您无需重启服务器。它可以自动重新加载python文件和xml文件 无需重启服务器。它需要 pyinotify。这是一个Python 用于监视文件系统更改的模块。只需在配置文件中添加
--auto-reload
即可。默认情况下 价值将是“假”。您不需要传递任何额外的参数。--auto-reload
就够了。如果一切设置正常,您将获得openerp.service.server: Watching addons folder /opt/odoo/v8.0/addons openerp.service.server: AutoReload watcher running in the server log. Don't forget to install pyinotify package.
但是在odoo 10中只需添加--dev=reload
参数
--dev=DEV_MODE Enable developer mode. Param: List of options
separated by comma. Options : all,
[pudb|wdb|ipdb|pdb], reload, qweb, werkzeug, xml
答案 1 :(得分:0)
Failed to stop odoo.service: Access denied. See system logs and 'systemctl status odoo.service' for details.
最初,我收到此错误。然后尝试使用 su 并得到了这个。
Failed to stop odoo.service: Unit odoo.service not loaded.
我关心的是如何确定我可以在新模块安装后重新启动 Odoo 服务的完美文件。