The server development mode
To make life easier for developers , Odoo has the additional --dev=all option to active a few developer-friendly features.
The --dev=... option was introduced in Odoo 10. It replaces the simpler and less featured --debug option, available in versions before 10.
This enables a few handy features to speed up our development cycle. The most important are the following:
- Reload Python code automatically once a Python file is saved, avoiding a manual server restart
- Read view definitions directly from the XML files, avoiding manual module upgrades
The --dev=all option will bring up the Python debugger (pdb) when an exception is raised. It's useful for doing a postmortem analysis of a server error. Note that it doesn't have any effect on logger verbosity. More details on the Python debugger commands can be found at https://docs.python.org/3/library/pdb.html#debugger-commands.
The --dev option accepts a comma-separated list of options, although the all option will be suitable most of the time. By default, the Python debugger, pdb, is used. Some people might prefer to install and use alternative debuggers, for their improved features or usability. Odoo allows us to also specify a specific debugger to use. Some popular options are ipdb and pudb. In Chapter 8, Business Logic – Supporting Business Processes, we will address how to make use of debuggers in our Odoo development.
To be able to automatically detect the changes in code files, the server developer mode requires an additional dependency to be installed, python3-watchdog. Before you can use it in an Ubuntu/Debian system, you need to install it using the following command:
$ sudo apt-get install python3-watchdog
For versions before Odoo 11 running on Python 2, install python-watchdog instead. It can also be installed using pip, with the pip install watchdog command .