Skip to content

pkg_resources import fails on Python 3.12 due to missing setuptools dependency #82

@kt-devoss

Description

@kt-devoss

Hi, thanks for maintaining this project --- I encountered an issue with Python 3.12.

Summary

git-ai-commit fails to run on Python 3.12 with ModuleNotFoundError: No module named 'pkg_resources'.

Steps to Reproduce

  1. Install Python 3.12 (clean venv)
  2. pip install git-ai-commit
  3. Run git-ai-commit --help

Actual Result

    ...
ModuleNotFoundError: No module named 'pkg_resources'

Root Cause

ai_commit_msg/utils/utils.py imports pkg_resources, which is part of setuptools,
but setuptools is not listed in install_requires in setup.cfg.

Expected Behavior

Installation should include all required dependencies.

Suggested Fix

Short-term (to fix runtime error):

Add setuptools>=65.0 to install_requires in setup.cfg, e.g.:

[options]
install_requires =
    setuptools>=65.0
    click>=8.0
    ...

Long-term (to address deprecation):

Replace pkg_resources with the standard library alternative importlib.metadata,
since pkg_resources is deprecated and scheduled for removal after 2025-11-30.
cf.
https://setuptools.pypa.io/en/latest/pkg_resources.html

Environment

python -V
Python 3.12.10

pip show git-ai-commit
Name: git_ai_commit
Version: 1.0.13

Ref

https://github.com/the-cafe/git-ai-commit/blob/8750a213aa7890c4c1e88adbf736df6c34a625f4/ai_commit_msg/services/pip_service.py#L2C1-L3C1

install_requires =

https://github.com/search?q=repo%3Athe-cafe%2Fgit-ai-commit%20pkg_resources%20&type=code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions