Commit 2ee3594a authored by Julien Muchembled's avatar Julien Muchembled

setup: fix recursive extra dependencies

It never worked. It would have worked with recent pip.

See also https://hynek.me/articles/python-recursive-optional-dependencies/#pip-212-recursive-dependencies
parent f4a5fe3b
......@@ -59,12 +59,19 @@ extras_require = {
'storage-pymysql': ['PyMySQL'],
'storage-importer': zodb_require + ['setproctitle'],
}
def self_require(*extra):
# PY3: The latest version of pip for Python 2 does not support recursive
# optional dependencies so we need to expand manually.
req = set()
for extra in extra:
req.update(extras_require[extra])
return sorted(req)
extras_require['tests'] = ['coverage', 'zope.testing', 'psutil>=2',
'mock', # ZODB test dependency
'neoppod[%s]' % ', '.join(extras_require)]
extras_require['stress'] = ['NetfilterQueue', 'gevent', 'neoppod[tests]',
] + self_require(*extras_require)
extras_require['stress'] = ['NetfilterQueue', 'gevent',
'cython-zstd', # recommended (log rotation)
]
] + self_require('tests')
try:
from docutils.core import publish_string
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment