<h1 dir="auto">Checklist</h1>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> This has already been asked to the <a href="https://groups.google.com/forum/#!forum/celery-users" rel="nofollow">discussion group</a> first.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have read the relevant section in the<br>
<a href="http://docs.celeryproject.org/en/latest/contributing.html#other-bugs" rel="nofollow">contribution guide</a><br>
on reporting bugs.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/issues?q=is%3Aissue+label%3A%22Issue+Type%3A+Bug+Report%22+-label%3A%22Category%3A+Documentation%22">issues list</a><br>
for similar or identical bug reports.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have checked the <a href="https://github.com/celery/celery/pulls?q=is%3Apr+label%3A%22PR+Type%3A+Bugfix%22+-label%3A%22Category%3A+Documentation%22">pull requests list</a><br>
for existing proposed fixes.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have checked the <a href="https://github.com/celery/celery/commits/master">commit log</a><br>
to find out if the bug was already fixed in the master branch.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have included all related issues and possible duplicate issues<br>
in this issue (If there are none, check this box anyway).</li>
</ul>
<h2 dir="auto">Mandatory Debugging Information</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have included the output of <code class="notranslate">celery -A proj report</code> in the issue.<br>
(if you are not able to do this, then at least specify the Celery<br>
version affected).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have included the contents of <code class="notranslate">pip freeze</code> in the issue.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have included all the versions of all the external dependencies required<br>
to reproduce this bug.</li>
</ul>
<h2 dir="auto">Optional Debugging Information</h2>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one operating system.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one workers pool.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have tried reproducing the issue after downgrading<br>
and/or upgrading Celery and its dependencies.</li>
</ul>
<h2 dir="auto">Related Issues and Possible Duplicates</h2>

<h4 dir="auto">Related Issues</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h4 dir="auto">Possible Duplicates</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h2 dir="auto">Environment &amp; Settings</h2>

<p dir="auto"><strong>Celery version</strong>: 4.4.4 (celery v4.4.3 and below work fine)</p>

<details>
<summary><b><code class="notranslate">celery report</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"><code class="notranslate"></code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Steps to Reproduce</h1>
<h2 dir="auto">Required Dependencies</h2>

<ul dir="auto">
<li><strong>Minimal Python Version</strong>: 3.7</li>
<li><strong>Minimal Celery Version</strong>: 4.4.4</li>
<li><strong>Minimal Kombu Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Version</strong>: N/A or Unknown</li>
<li><strong>Minimal OS and/or Kernel Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Client Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Client Version</strong>: N/A or Unknown</li>
</ul>
<h3 dir="auto">Python Packages</h3>

<details>
<summary><b><code class="notranslate">pip freeze</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"><code class="notranslate"></code></pre></div>
<p dir="auto"></p>
</details>
<h3 dir="auto">Other Dependencies</h3>

<details>
<p dir="auto">
N/A
</p>
</details>
<h2 dir="auto">Minimally Reproducible Test Case</h2>

<details>
<p dir="auto">
</p><div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="celery_app = Celery(&quot;worker&quot;, broker=&quot;amqp://guest@queue//&quot;)

celery_app.conf.task_routes = {&quot;app.worker.test_celery&quot;: &quot;main-queue&quot;}

@celery_app.task(acks_late=True)
def test_celery(word: str):
    return f&quot;test task return {word}&quot;

celery_app.send_task(&quot;app.worker.test_celery&quot;, args=[&quot;msg&quot;])"><pre class="notranslate"><span class="pl-s1">celery_app</span> <span class="pl-c1">=</span> <span class="pl-v">Celery</span>(<span class="pl-s">"worker"</span>, <span class="pl-s1">broker</span><span class="pl-c1">=</span><span class="pl-s">"amqp://guest@queue//"</span>)

<span class="pl-s1">celery_app</span>.<span class="pl-s1">conf</span>.<span class="pl-s1">task_routes</span> <span class="pl-c1">=</span> {<span class="pl-s">"app.worker.test_celery"</span>: <span class="pl-s">"main-queue"</span>}

<span class="pl-en">@<span class="pl-s1">celery_app</span>.<span class="pl-en">task</span>(<span class="pl-s1">acks_late</span><span class="pl-c1">=</span><span class="pl-c1">True</span>)</span>
<span class="pl-k">def</span> <span class="pl-en">test_celery</span>(<span class="pl-s1">word</span>: <span class="pl-s1">str</span>):
    <span class="pl-k">return</span> <span class="pl-s">f"test task return <span class="pl-s1"><span class="pl-kos">{</span><span class="pl-s1">word</span><span class="pl-kos">}</span></span>"</span>

<span class="pl-s1">celery_app</span>.<span class="pl-en">send_task</span>(<span class="pl-s">"app.worker.test_celery"</span>, <span class="pl-s1">args</span><span class="pl-c1">=</span>[<span class="pl-s">"msg"</span>])</pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>

<p dir="auto">The function should return successfully.</p>
<h1 dir="auto">Actual Behavior</h1>

<p dir="auto">An error is thrown : <code class="notranslate">No module named future</code> in the celery package (in celery code, the error is at <code class="notranslate">celery/backends/base.py</code>:  <code class="notranslate">from future.utils import raise_with_traceback </code></p>
<p dir="auto">This one is simple to reproduce, I just upgraded to <code class="notranslate">celery==4.4.4</code> and now my builds are broken.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[2020-06-03 09:48:39,517: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2020-06-03 09:48:39,518: DEBUG/MainProcess] | Worker: Building graph...
[2020-06-03 09:48:39,518: DEBUG/MainProcess] | Worker: New boot order: {StateDB, Beat, Timer, Hub, Pool, Autoscaler, Consumer}
[2020-06-03 09:48:39,522: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2020-06-03 09:48:39,522: DEBUG/MainProcess] | Consumer: Building graph...
[2020-06-03 09:48:39,538: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Events, Heart, Mingle, Gossip, Agent, Tasks, Control, event loop}
[2020-06-03 09:48:39,540: CRITICAL/MainProcess] Unrecoverable error: ModuleNotFoundError(&quot;No module named 'future'&quot;)
Traceback (most recent call last):
  File &quot;/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py&quot;, line 42, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'backend'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;/usr/local/lib/python3.7/site-packages/celery/worker/worker.py&quot;, line 208, in start
    self.blueprint.start(self)
  File &quot;/usr/local/lib/python3.7/site-packages/celery/bootsteps.py&quot;, line 115, in start
    self.on_start()
  File &quot;/usr/local/lib/python3.7/site-packages/celery/apps/worker.py&quot;, line 139, in on_start
    self.emit_banner()
  File &quot;/usr/local/lib/python3.7/site-packages/celery/apps/worker.py&quot;, line 154, in emit_banner
    ' \n', self.startup_info(artlines=not use_image))),
  File &quot;/usr/local/lib/python3.7/site-packages/celery/apps/worker.py&quot;, line 217, in startup_info
    results=self.app.backend.as_uri(),
  File &quot;/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py&quot;, line 44, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File &quot;/usr/local/lib/python3.7/site-packages/celery/app/base.py&quot;, line 1232, in backend
    return self._get_backend()
  File &quot;/usr/local/lib/python3.7/site-packages/celery/app/base.py&quot;, line 949, in _get_backend
    self.loader)
  File &quot;/usr/local/lib/python3.7/site-packages/celery/app/backends.py&quot;, line 74, in by_url
    return by_name(backend, loader), url
  File &quot;/usr/local/lib/python3.7/site-packages/celery/app/backends.py&quot;, line 54, in by_name
    cls = symbol_by_name(backend, aliases)
  File &quot;/usr/local/lib/python3.7/site-packages/kombu/utils/imports.py&quot;, line 57, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File &quot;/usr/local/lib/python3.7/importlib/__init__.py&quot;, line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 1006, in _gcd_import
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 983, in _find_and_load
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 967, in _find_and_load_unlocked
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 677, in _load_unlocked
  File &quot;&lt;frozen importlib._bootstrap_external&gt;&quot;, line 728, in exec_module
  File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 219, in _call_with_frames_removed
  File &quot;/usr/local/lib/python3.7/site-packages/celery/backends/base.py&quot;, line 10, in &lt;module&gt;
    from future.utils import raise_with_traceback
ModuleNotFoundError: No module named 'future'"><pre class="notranslate"><code class="notranslate">[2020-06-03 09:48:39,517: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2020-06-03 09:48:39,518: DEBUG/MainProcess] | Worker: Building graph...
[2020-06-03 09:48:39,518: DEBUG/MainProcess] | Worker: New boot order: {StateDB, Beat, Timer, Hub, Pool, Autoscaler, Consumer}
[2020-06-03 09:48:39,522: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2020-06-03 09:48:39,522: DEBUG/MainProcess] | Consumer: Building graph...
[2020-06-03 09:48:39,538: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Events, Heart, Mingle, Gossip, Agent, Tasks, Control, event loop}
[2020-06-03 09:48:39,540: CRITICAL/MainProcess] Unrecoverable error: ModuleNotFoundError("No module named 'future'")
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'backend'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/celery/worker/worker.py", line 208, in start
    self.blueprint.start(self)
  File "/usr/local/lib/python3.7/site-packages/celery/bootsteps.py", line 115, in start
    self.on_start()
  File "/usr/local/lib/python3.7/site-packages/celery/apps/worker.py", line 139, in on_start
    self.emit_banner()
  File "/usr/local/lib/python3.7/site-packages/celery/apps/worker.py", line 154, in emit_banner
    ' \n', self.startup_info(artlines=not use_image))),
  File "/usr/local/lib/python3.7/site-packages/celery/apps/worker.py", line 217, in startup_info
    results=self.app.backend.as_uri(),
  File "/usr/local/lib/python3.7/site-packages/kombu/utils/objects.py", line 44, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File "/usr/local/lib/python3.7/site-packages/celery/app/base.py", line 1232, in backend
    return self._get_backend()
  File "/usr/local/lib/python3.7/site-packages/celery/app/base.py", line 949, in _get_backend
    self.loader)
  File "/usr/local/lib/python3.7/site-packages/celery/app/backends.py", line 74, in by_url
    return by_name(backend, loader), url
  File "/usr/local/lib/python3.7/site-packages/celery/app/backends.py", line 54, in by_name
    cls = symbol_by_name(backend, aliases)
  File "/usr/local/lib/python3.7/site-packages/kombu/utils/imports.py", line 57, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "&lt;frozen importlib._bootstrap&gt;", line 1006, in _gcd_import
  File "&lt;frozen importlib._bootstrap&gt;", line 983, in _find_and_load
  File "&lt;frozen importlib._bootstrap&gt;", line 967, in _find_and_load_unlocked
  File "&lt;frozen importlib._bootstrap&gt;", line 677, in _load_unlocked
  File "&lt;frozen importlib._bootstrap_external&gt;", line 728, in exec_module
  File "&lt;frozen importlib._bootstrap&gt;", line 219, in _call_with_frames_removed
  File "/usr/local/lib/python3.7/site-packages/celery/backends/base.py", line 10, in &lt;module&gt;
    from future.utils import raise_with_traceback
ModuleNotFoundError: No module named 'future'
</code></pre></div>
<p dir="auto">Running in a docker container using <code class="notranslate">python:3.7-alpine</code> as base image.</p>