← All tasks
pythonconfluentinc/confluent-kafka-python #1972Not a task: already works

No module found 'attrs'

envgap__confluentinc__confluent-kafka-python-1972

01 / FAILURE SIGNATURE

As reported upstream

E   ModuleNotFoundError: No module named 'attrs'
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
c5ac241e2bcdf3fd0941883a4c799676d0dae0a7
Manifest
requirements/requirements-schemaregistry.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

confluentinc/confluent-kafka-python #1972 · read the original issue
Seeing issue with attrs dependency when installing version `2.10.0`. 

**Error**
```bash
    from confluent_kafka.schema_registry import RegisteredSchema
/usr/local/lib/python3.9/site-packages/confluent_kafka/schema_registry/__init__.py:20: in <module>
    from .schema_registry_client import (
/usr/local/lib/python3.9/site-packages/confluent_kafka/schema_registry/schema_registry_client.py:27: in <module>
    from attrs import define as _attrs_define
E   ModuleNotFoundError: No module named 'attrs'
```

---
**Details**

**Python Version**
```
3.9.6
```

**requirements.in**

I followed the recommendation in the [README.md](https://github.com/confluentinc/confluent-kafka-python)
```
confluent-kafka[protobuf,schemaregistry] == 2.10.0
```

I see that the attrs is present in my `.venv` folder. 
![Image](https://github.com/user-attachments/assets/9b1435d0-8db7-4d8e-826d-c1c941ac1aa8)

**requirements.txt**

This was generated by running `pip-compile --no-emit-index-url requirements.in`
```
#
# This file is autogenerated by pip-compile with python 3.9
# To update, run:
#
#    pip-compile --no-emit-index-url requirements.in
#
--trusted-host pypi.org

anyio==4.9.0
    # via httpx
anytree==2.8.0
    # via -r requirements.in
argcomplete==1.12.3
    # via pipx
attrs==21.2.0
    # via confluent-kafka
authlib==1.5.2
    # via confluent-kafka
black==24.3.0
    # via -r requirements.in
build==0.7.0
    # via
    #   -r requirements.in
    #   pip-tools
cachetools==5.5.2
    # via confluent-kafka
certifi==2024.7.4
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==1.17.1
    # via cryptography
cfgv==3.3.1
    # via pre-commit
charset-normalizer==2.0.7
    # via requests
clang-format==13.0.0
    # via -r requirements.in
click==8.0.3
    # via
    #   -r requirements.in
    #   black
    #   pip-tools
    #   userpath
confluent-kafka[protobuf,schemaregistry]==2.10.0
    # via -r requirements.in
coverage==4.5.4
    # via -r requirements.in
cryptography==44.0.2
    # via authlib
datadog==0.44.0
    # via -r requirements.in
dependency-injector==4.40.0
    # via -r requirements.in
distlib==0.3.6
    # via virtualenv
docutils==0.21.2
    # via readme-renderer
exceptiongroup==1.2.2
    # via
    #   anyio
    #   pytest
filelock==3.12.0
    # via virtualenv
gitdb==4.0.9
    # via gitpython
gitpython==3.1.43
    # via -r requirements.in
googleapis-common-protos==1.70.0
    # via confluent-kafka
h11==0.14.0
    # via httpcore
httpcore==1.0.8
    # via httpx
httpx==0.27.2
    # via confluent-kafka
identify==2.5.24
    # via pre-commit
idna==3.7
    # via
    #   anyio
    #   httpx
    #   requests
importlib-metadata==4.8.2
    # via
    #   keyring
    #   twine
inflection==0.5.1
    # via -r requirements.in
iniconfig==1.1.1
    # via pytest
isort==5.11.4
    # via -r requirements.in
jinja2==3.1.4
    # via -r requirements.in
jsonpickle==2.0.0
    # via -r requirements.in
keyring==23.4.0
    # via twine
markdown-it-py==3.0.0
    # via rich
markupsafe==2.0.1
    # via jinja2
mdurl==0.1.2
    # via markdown-it-py
mypy==0.942
    # via -r requirements.in
mypy-extensions==0.4.3
    # via
    #   black
    #   mypy
mypy-protobuf==3.2.0
    # via -r requirements.in
nh3==0.2.21
    # via readme-renderer
nodeenv==1.8.0
    # via pre-commit
nullsafe==0.2.1
    # via -r requirements.in
packaging==23.1
    # via
    #   black
    #   build
    #   pipx
    #   pytest
    #   twine
pathspec==0.9.0
    # via black
pep517==0.12.0
    # via build
pip-tools==6.8.0
    # via -r requirements.in
pipx==0.16.4
    # via -r requirements.in
pkginfo==1.12.0
    # via
    #   -r requirements.in
    #   twine
platformdirs==3.5.1
    # via
    #   black
    #   virtualenv
pluggy==1.5.0
    # via pytest
pre-commit==3.3.1
    # via -r requirements.in
protobuf==4.21.9
    # via
    #   -r requirements.in
    #   confluent-kafka
    #   googleapis-common-protos
    #   mypy-protobuf
pycparser==2.22
    # via cffi
pydantic==1.10.13
    # via -r requirements.in
pygments==2.15.0
    # via
    #   readme-renderer
    #   rich
pytest==8.3.5
    # via
    #   -r requirements.in
    #   pytest-mock
    #   pytest-snapshot
pytest-mock==3.6.1
    # via -r requirements.in
pytest-snapshot==0.7.0
    # via -r requirements.in
pyyaml==6.0
    # via
    #   -r requirements.in
    #   pre-commit
readme-renderer==44.0
    # via twine
requests==2.32.2
    # via
    #   -r requirements.in
    #   datadog
    #   requests-toolbelt
    #   responses
    #   twine
requests-toolbelt==0.9.1
    # via twine
responses==0.15.0
    # via -r requirements.in
rfc3986==1.5.0
    # via twine
rich==13.9.4
    # via twine
six==1.16.0
    # via
    #   anytree
    #   dependency-injector
    #   responses
smmap==5.0.0
    # via gitdb
sniffio==1.3.1
    # via
    #   anyio
    #   httpx
tomli==1.2.2
    # via
    #   black
    #   build
    #   mypy
    #   pep517
    #   pytest
twine==6.0.1
    # via -r requirements.in
types-protobuf==3.19.15
    # via mypy-protobuf
types-pyyaml==6.0.11
    # via -r requirements.in
types-requests==2.28.5
    # via -r requirements.in
types-urllib3==1.26.17
    # via types-requests
typing-extensions==4.6.3
    # via
    #   anyio
    #   black
    #   mypy
    #   pydantic
    #   rich
urllib3==1.26.19
    # via
    #   requests
    #   responses
    #   twine
userpath==1.7.0
    # via pipx
virtualenv==20.23.0
    # via pre-commit
wheel==0.38.0
    # via pip-tools
zipp==3.19.1
    # via importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
```

---

Any help would be appreciated to resolve this. Let me know if you need additional information. Thanks!

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]