I have a sh file that runs: python -m grafana_backup.cli save --config $settings_file.
I run this file from a crontab, runnning the .sh file but I get this error:  python: command not found.
The shell in the crontab is SHELL=/bin/bash and in the .sh file is #!/bin/bash
do:

'which python3' - a possible result is /usr/bin/python3
Add the result of #1  to the crontab command

A general advice:
Use full path to every resource your sh script is using
Command not found in sh script running from crontab