what does seem to work:
librenms@pol01:~$ mkdir .venv
librenms@pol01:~$ python3 -m venv .venv/
librenms@pol01:~$ source .venv/bin/activate
librenms@pol01:~$ ./validate.php
librenms@pol01:~$ pip3 install -r requirements.txt
librenms@pol01:~$ ./validate.php
Then running the service within the venv
librenms@pol1:~$ cat /etc/systemd/system/librenms.service
[Unit]
Description=LibreNMS SNMP Poller Service
After=network.target
[Service]
ExecStart=/opt/librenms/.venv/bin/python3 librenms-service.py -v
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/opt/librenms
User=librenms
Group=librenms
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Your thoughts on this approach @murrant ?