diff --git a/setup.py b/setup.py index ae29848..96089bb 100755 --- a/setup.py +++ b/setup.py @@ -35,7 +35,6 @@ deps = [ 'idna>=2.5', 'PyYAML>=5.1', 'cachetools', - 'trough>=0.1.4', ] try: import concurrent.futures @@ -44,7 +43,7 @@ except: setuptools.setup( name='warcprox', - version='2.4.25', + version='2.4.26', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', @@ -53,6 +52,7 @@ setuptools.setup( license='GPL', packages=['warcprox'], install_requires=deps, + extras_require={'trough': ['trough>=0.1.4',],}, setup_requires=['pytest-runner'], tests_require=['mock', 'pytest', 'warcio'], entry_points={ diff --git a/warcprox/dedup.py b/warcprox/dedup.py index 8227aa7..0181019 100644 --- a/warcprox/dedup.py +++ b/warcprox/dedup.py @@ -506,7 +506,14 @@ class TroughDedupDb(DedupDb, DedupableMixin): 'values (%s, %s, %s, %s);') def __init__(self, options=warcprox.Options()): - import trough.client + try: + import trough.client + except ImportError as e: + logging.critical( + '%s: %s\n\nYou might need to run "pip install ' + 'warcprox[trough]".', type(e).__name__, e) + sys.exit(1) + DedupableMixin.__init__(self, options) self.options = options self._trough_cli = trough.client.TroughClient(