improve error message on missing modules from nominatim_api

This commit is contained in:
Sarah Hoffmann 2024-08-17 10:03:36 +02:00
parent 1cd8ffad0b
commit feb8cc29a5
2 changed files with 22 additions and 1 deletions

View File

@ -180,6 +180,26 @@ me@machine:planet-project$
They will also emit full error messages when there is a problem with the
code you need to debug.
!!! danger
In some cases, when you make an error with your import statement, the
CLI will not give you an error but instead tell you, that the API
commands are no longer available:
me@machine: nominatim status
usage: nominatim [-h] [--version] {import,freeze,replication,special-phrases,add-data,index,refresh,admin} ...
nominatim: error: argument subcommand: invalid choice: 'status'
This happens because the CLI tool is meant to still work when the
nominatim-api package is not installed. Import errors involving
`nominatim_api` are interpreted as "package not installed".
Use the help command to find out which is the offending import that
could not be found:
me@machine: nominatim -h
... [other help text] ...
Nominatim API package not found (was looking for module: nominatim_api.xxx).
## Reference
### FormatDispatcher

View File

@ -243,7 +243,8 @@ def get_set_parser() -> CommandlineParser:
raise ex
parser.parser.epilog = \
'\n\nNominatim API package not found. The following commands are not available:'\
f'\n\nNominatim API package not found (was looking for module: {ex.name}).'\
'\nThe following commands are not available:'\
'\n export, convert, serve, search, reverse, lookup, details, status'\
"\n\nRun 'pip install nominatim-api' to install the package."