Skip to content

"aniso8601" and "treq" dependencies are undeclared to setuptools

Created by: crwood

Attempting to run a tahoe daemon with the current (092c4826) ZKAPAuthorizer plugin enabled produces the following exceptions:

 2020-01-02T19:45:45-0500 [-] Unhandled Error
 	Traceback (most recent call last):
 	  File "/home/user/code/tahoe-lafs/src/allmydata/storage_client.py", line 674, in _make_storage_system
 	    self.get_rref,
 	  File "/home/user/code/tahoe-lafs/src/allmydata/storage_client.py", line 584, in _storage_from_foolscap_plugin
 	    in getPlugins(IFoolscapStoragePlugin)
 	  File "/home/user/code/tahoe-lafs/src/allmydata/storage_client.py", line 582, in <dictcomp>
 	    plugin.name: plugin
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/plugin.py", line 213, in getPlugins
 	    allDropins = getCache(package)
 	--- <exception caught here> ---
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/plugin.py", line 171, in getCache
 	    provider = pluginModule.load()
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/python/modules.py", line 392, in load
 	    return self.pathEntry.pythonPath.moduleLoader(self.name)
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/python/reflect.py", line 308, in namedAny
 	    topLevelPackage = _importAndCheckStack(trialname)
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/python/reflect.py", line 255, in _importAndCheckStack
 	    reraise(excValue, excTraceback)
 	  File "/home/user/code/ZKAPAuthorizer/src/twisted/plugins/zkapauthorizer.py", line 19, in <module>
 	    from _zkapauthorizer.api import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/api.py", line 32, in <module>
 	    from ._plugin import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/_plugin.py", line 53, in <module>
 	    from .model import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/model.py", line 37, in <module>
 	    from aniso8601 import (
 	exceptions.ImportError: No module named aniso8601
2020-01-02T19:51:52-0500 [-] Unhandled Error
 	Traceback (most recent call last):
 	  File "/home/user/code/tahoe-lafs/src/allmydata/storage_client.py", line 674, in _make_storage_system
 	    self.get_rref,
 	  File "/home/user/code/tahoe-lafs/src/allmydata/storage_client.py", line 584, in _storage_from_foolscap_plugin
 	    in getPlugins(IFoolscapStoragePlugin)
 	  File "/home/user/code/tahoe-lafs/src/allmydata/storage_client.py", line 582, in <dictcomp>
 	    plugin.name: plugin
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/plugin.py", line 213, in getPlugins
 	    allDropins = getCache(package)
 	--- <exception caught here> ---
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/plugin.py", line 171, in getCache
 	    provider = pluginModule.load()
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/python/modules.py", line 392, in load
 	    return self.pathEntry.pythonPath.moduleLoader(self.name)
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/python/reflect.py", line 308, in namedAny
 	    topLevelPackage = _importAndCheckStack(trialname)
 	  File "/home/user/.local/virtualenv/py27/lib/python2.7/site-packages/twisted/python/reflect.py", line 255, in _importAndCheckStack
 	    reraise(excValue, excTraceback)
 	  File "/home/user/code/ZKAPAuthorizer/src/twisted/plugins/zkapauthorizer.py", line 19, in <module>
 	    from _zkapauthorizer.api import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/api.py", line 32, in <module>
 	    from ._plugin import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/_plugin.py", line 57, in <module>
 	    from .resource import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/resource.py", line 52, in <module>
 	    from .controller import (
 	  File "/home/user/code/ZKAPAuthorizer/src/_zkapauthorizer/controller.py", line 66, in <module>
 	    from treq import (
 	exceptions.ImportError: No module named treq

As expected, a pip install aniso8601 treq fixes the above two errors. Accordingly, the two missing dependencies should be explicitly declared (in both setup.py and requirements.txt?) so that they get pulled in when installing ZKAPAuthorizer via setuptools/pip.