The latest versions of pip keeps a cache of downloaded packages. It also caches the results of any extensions built for those packages. When a user tries to re-install (or install in a different virtualenv) a previously build package, the pre-built package is pulled from the cache and plopped into place.
Which is all great and fast...
... unless your extension also builds a shared library (libqpid-proton) and sets its RPATH to it.
This ends up with a cached _cproton.so with a RPATH pointing to the directory where the libqpid-proton.so was installed. Woe be you if that was a virtualenv that you deleted (or updated).
This results in either "libqpid-proton.so not found" errors when importing the bindings, or symbol mismatches if the library was overwritten.