Checking if a particular package is available from within Python can be done via
try:
import requests
except ImportError:
available = False
else:
available = True
Additionally, I would like to know if the respective package has been installed with pip (and can hence been updated with pip install -U package_name).
Any hints?
pip listsubprocesscould be it.import pkg_resources; pkg_resources.get_distribution('requests').get_metadata('INSTALLER').