diff --git a/ssm/ssm2.py b/ssm/ssm2.py index 6cc581a6..563c3073 100644 --- a/ssm/ssm2.py +++ b/ssm/ssm2.py @@ -15,8 +15,6 @@ """ from __future__ import print_function -import pkg_resources - from ssm import crypto from ssm.message_directory import MessageDirectory @@ -28,6 +26,13 @@ QueueSimple = None Queue = None +try: + import pkg_resources +except ImportError: + # pkg_resources is distributed with setuptools, but as it's only used to enhance + # the logging, it can be optional. + pkg_resources = None + import stomp from stomp.exception import ConnectFailedException @@ -551,7 +556,9 @@ def handle_connect(self): connect to each in turn until successful. """ if self._protocol == Ssm2.AMS_MESSAGING: - log.info("Using AMS version %s", pkg_resources.get_distribution('argo_ams_library').version) + if pkg_resources is not None: + # We only log the version if pkg_resources is available. + log.info("Using AMS version %s", pkg_resources.get_distribution('argo_ams_library').version) log.info("Will connect to %s", self._brokers[0])