As for the clumsy python 3.8 -m pip install whatever … as per earlier internet research this is the best way to avoid version/dependency f**kup which I somehow always manage to end up with. But I can’t claim any expertise insight here, all I can say is that since doing it that way I’ve had no dependency issues anymore.
Unfortunately I’m running straight into the next blocker, still the same command that worked nicely a couple of months ago:
pyuavcan publish 32085.uavcan.node.Heartbeat.1.0 '{uptime: 9876, health: 0, mode: 3, vendor_specific_status_code: 5}' --tr='CAN(can.media.socketcan.SocketCANMedia("vcan0",8),13)'
Error: TypeError: 'int' object is not iterable