Using Drush 5.8 contrib modules are not available if executed externally.
check_output("drush -l example.com -r /var/www/my/example/site/ entity-read node", shell=True)
Any command regarding Drush Entity return an error specifying that the command "could not be found. Run
drush cache-clear drush to clear the commandfile cache if you have installed new extensions."
The same command is available if executed via an interactive python shell or via ssh.
I've installed Drush Entity in this way:
drush dl drush_entity
This command on my system put drush_entity into /home/admin/.drush directory. This directory seems to be ignored, since site-alias too are ignored if i put them inside that directory.