A bit of background first. I have used the technique of having a production directory where everyone in the studio reference/execute files from, and secondary development directory that is for testing etc.
When I feel like the development pipeline is in a stable state, I make a copy of the development directory, and point everyone's startup scripts to this. After a couple of days, I should be fairly certain that no one is using the old pipeline.
The problem is that in an environment with 100+ machines, not all machines get restarted and thus is still using the old pipeline. The issue is that Pyblish-qml is run at machine start, and so somewhere a machine is still holding onto some files within pyblish-qml.
I'm finding it impossible to track down the culprit machines. This is not exclusive to to pyblish-qml, as there are other files from for example ftrack-connect that gets held onto.
Currently the only way to overcome this problem, as far as I can see, is to have a local install of the pipeline on each machine. This though brings issues of updating to a new level.