Skip to content

pkg_resources deprecation #4191

@aitor0307

Description

@aitor0307

Describe your environment

Python version: python:3.12-slim
OS: Docker
Package version: latest

What happened?

Hi, today I was building my docker image for python 3.12 slim and while trying to launch the container for gunicorn with uvicorn workers I got this error.

I investigated a bit and it seems setuptools deprecated pkg_resources in its latest versions. I had to force install setuptools<80 to recover this library and everything is working. I am unsure if the issue comes from opentelemetry, because I could not find the dependency anywhere, but I thought raising the issue here could help.

Steps to Reproduce

I launched my fastapi application inside docker with:
gunicorn -w 2 -k uvicorn.workers.UvicornWorker app.main:app --bind 0.0.0.0:8000 --timeout 600 --log-level info

Expected Result

Server should be running

Actual Result

2026-02-11T13:40:05.9640308Z [2026-02-11 13:40:05 +0000] [8] [INFO] Worker exiting (pid: 8)
2026-02-11T13:40:06.0435788Z [2026-02-11 13:40:06 +0000] [9] [ERROR] Exception in worker process
2026-02-11T13:40:06.0436132Z Traceback (most recent call last):
2026-02-11T13:40:06.0436173Z File "/root/.local/lib/python3.12/site-packages/gunicorn/arbiter.py", line 684, in spawn_worker
2026-02-11T13:40:06.0436204Z worker.init_process()
2026-02-11T13:40:06.0436236Z File "/root/.local/lib/python3.12/site-packages/gunicorn/workers/base.py", line 136, in init_process
2026-02-11T13:40:06.0436262Z self.load_wsgi()
2026-02-11T13:40:06.0436295Z File "/root/.local/lib/python3.12/site-packages/gunicorn/workers/base.py", line 148, in load_wsgi
2026-02-11T13:40:06.0436324Z self.wsgi = self.app.wsgi()
2026-02-11T13:40:06.0436352Z ^^^^^^^^^^^^^^^
2026-02-11T13:40:06.0436383Z File "/root/.local/lib/python3.12/site-packages/gunicorn/app/base.py", line 66, in wsgi
2026-02-11T13:40:06.0436481Z self.callable = self.load()
2026-02-11T13:40:06.0436514Z ^^^^^^^^^^^
2026-02-11T13:40:06.0436548Z File "/root/.local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py", line 57, in load
2026-02-11T13:40:06.0436576Z return self.load_wsgiapp()
2026-02-11T13:40:06.0436603Z ^^^^^^^^^^^^^^^^^^^
2026-02-11T13:40:06.0436633Z File "/root/.local/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp
2026-02-11T13:40:06.0436662Z return util.import_app(self.app_uri)
2026-02-11T13:40:06.043669Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-11T13:40:06.0436718Z File "/root/.local/lib/python3.12/site-packages/gunicorn/util.py", line 377, in import_app
2026-02-11T13:40:06.0436747Z mod = importlib.import_module(module)
2026-02-11T13:40:06.0436776Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-11T13:40:06.0436818Z File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
2026-02-11T13:40:06.0436849Z return _bootstrap._gcd_import(name[level:], package, level)
2026-02-11T13:40:06.043688Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-11T13:40:06.0436911Z File "", line 1387, in _gcd_import
2026-02-11T13:40:06.0436938Z File "", line 1360, in _find_and_load
2026-02-11T13:40:06.0436968Z File "", line 1331, in _find_and_load_unlocked
2026-02-11T13:40:06.0436996Z File "", line 935, in _load_unlocked
2026-02-11T13:40:06.0437027Z File "", line 999, in exec_module
2026-02-11T13:40:06.0437055Z File "", line 488, in _call_with_frames_removed
2026-02-11T13:40:06.0437081Z File "/app/app/main.py", line 2, in
2026-02-11T13:40:06.0437124Z from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
2026-02-11T13:40:06.0437157Z File "/root/.local/lib/python3.12/site-packages/opentelemetry/instrumentation/fastapi/init.py", line 184, in
2026-02-11T13:40:06.0437188Z from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
2026-02-11T13:40:06.0437218Z File "/root/.local/lib/python3.12/site-packages/opentelemetry/instrumentation/instrumentor.py", line 27, in
2026-02-11T13:40:06.0437246Z from opentelemetry.instrumentation.dependencies import (
2026-02-11T13:40:06.0437278Z File "/root/.local/lib/python3.12/site-packages/opentelemetry/instrumentation/dependencies.py", line 4, in
2026-02-11T13:40:06.0437306Z from pkg_resources import (
2026-02-11T13:40:06.0437333Z ModuleNotFoundError: No module named 'pkg_resources'
2026-02-11T13:40:06.0437595Z No module named 'pkg_resources'

Additional context

No response

Would you like to implement a fix?

None

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions