wiremind / remoulade

A fast and reliable distributed task processing library for Python 3.
GNU Lesser General Public License v3.0
39 stars 16 forks source link

ModuleNotFoundError: No module named 'attr' #339

Closed bourbonkk closed 1 year ago

bourbonkk commented 1 year ago

Issues

GitHub issues are for bugs. If you have questions, please ask them on stackoverflow. attr dependency is missing in 3.0.0 version

Checklist

What OS are you using?

ubuntu 20.04

What version of Remoulade are you using?

3.0.0

Successfully built opentelemetry-instrumentation-remoulade
Installing collected packages: pytz, six, prometheus-client, python-dateutil, remoulade, opentelemetry-instrumentation-remoulade
Successfully installed opentelemetry-instrumentation-remoulade-0.42b0.dev0 prometheus-client-0.17.1 python-dateutil-2.8.2 pytz-2023.3.post1 remoulade-3.0.0 six-1.16.0

What did you do?

Running test code (https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-remoulade/tests/test_messages.py)

What did you expect would happen?

Running test code successfully

What happened?

ModuleNotFoundError

_ ERROR collecting instrumentation/opentelemetry-instrumentation-remoulade/tests/test_messages.py _
ImportError while importing test module '/home/runner/work/opentelemetry-python-contrib/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-remoulade/tests/test_messages.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
test_messages.py:15: in <module>
    import remoulade
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/__init__.py:18: in <module>
    from .actor import Actor, actor
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/actor.py:23: in <module>
    from .helpers.actor_arguments import get_actor_arguments
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/helpers/__init__.py:20: in <module>
    from .reduce import reduce
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/helpers/reduce.py:17: in <module>
    from ..composition import group
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/composition.py:26: in <module>
    from .collection_results import CollectionResults
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/collection_results.py:28: in <module>
    from .result import Result
../../../.tox/py38-test-instrumentation-remoulade/lib/python3.8/site-packages/remoulade/result.py:20: in <module>
    import attr
E   ModuleNotFoundError: No module named 'attr'
mehdigmira commented 1 year ago

Oh, this went undetected in the CI because attrs is a dependency of flake8-bugbear which is itself a dev dependency of remoulade. Sorry for this, will be fixed soon. Meanwhile, you can add attrs dependency on your project as a workaround.

antoinerabany commented 1 year ago

fixed in 3.0.1