Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests fail on Celery for Python 3.7 only #89

Closed
matthewfeickert opened this issue Feb 9, 2023 · 2 comments · Fixed by #90
Closed

Tests fail on Celery for Python 3.7 only #89

matthewfeickert opened this issue Feb 9, 2023 · 2 comments · Fixed by #90
Assignees
Labels

Comments

@matthewfeickert
Copy link
Member

=================================== FAILURES ===================================
__________________________________ test_known __________________________________

    def test_known():
        for known_backend in [
            "celery",
            "multiproc:4",
            "multiproc:auto",
            "foregroundasync",
            "externalasync:default",
        ]:
>           b = backend_from_string(known_backend)

tests/test_backends.py:13: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
packtivity/backendutils.py:192: in backend_from_string
    return backends[k]["default"](backendstring, backendopts)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

backendstring = 'celery', backendopts = {}

    @backend("celery")
    def celery_backend(backendstring, backendopts):
>       backend = asyncbackends.CeleryBackend(**backendopts)
E       AttributeError: module 'packtivity.asyncbackends' has no attribute 'CeleryBackend'

packtivity/backendutils.py:132: AttributeError
_________________________________ test_celery __________________________________

    def test_celery():
>       from packtivity.asyncbackends import CeleryProxy
E       ImportError: cannot import name 'CeleryProxy' from 'packtivity.asyncbackends' (/home/runner/work/packtivity/packtivity/packtivity/asyncbackends.py)

tests/test_proxies.py:5: ImportError
@matthewfeickert
Copy link
Member Author

Seems to be Python 3.7 specific:

$ docker run --rm -ti python:3.7 /bin/bash
root@06c6d53d8eaf:/# python -m venv venv && . venv/bin/activate
(venv) root@06c6d53d8eaf:/# python -m pip --quiet install --upgrade pip setuptools wheel
(venv) root@06c6d53d8eaf:/# python -m pip --quiet install --upgrade celery
(venv) root@06c6d53d8eaf:/# python -m pip show celery
Name: celery
Version: 5.2.7
Summary: Distributed Task Queue.
Home-page: http://celeryproject.org
Author: Ask Solem
Author-email: auvipy@gmail.com
License: BSD
Location: /venv/lib/python3.7/site-packages
Requires: billiard, click, click-didyoumean, click-plugins, click-repl, importlib-metadata, kombu, pytz, vine
Required-by: 
(venv) root@06c6d53d8eaf:/# python -c 'import celery'
(venv) root@06c6d53d8eaf:/# python -c 'from celery import Celery'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name 'Celery' from 'celery' (/venv/lib/python3.7/site-packages/celery/__init__.py)
(venv) root@06c6d53d8eaf:/# 

vs. Python 3.8:

$ docker run --rm -ti python:3.8 /bin/bash
root@aebe940fcecb:/# python -m venv venv && . venv/bin/activate
(venv) root@aebe940fcecb:/# python -m pip --quiet install --upgrade pip setuptools wheel
(venv) root@aebe940fcecb:/# python -m pip --quiet install --upgrade celery
(venv) root@aebe940fcecb:/# python -m pip show celery
Name: celery
Version: 5.2.7
Summary: Distributed Task Queue.
Home-page: http://celeryproject.org
Author: Ask Solem
Author-email: auvipy@gmail.com
License: BSD
Location: /venv/lib/python3.8/site-packages
Requires: billiard, click, click-didyoumean, click-plugins, click-repl, kombu, pytz, vine
Required-by: 
(venv) root@aebe940fcecb:/# python -c 'import celery'
(venv) root@aebe940fcecb:/# python -c 'from celery import Celery'
(venv) root@aebe940fcecb:/# 

@matthewfeickert
Copy link
Member Author

Hm. Seems to be an importlib-metadata issue that won't get fixed until the next release of kombu given celery/celery#7783 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant