Skip to content

setuptools 82.0.0 does not contain pkg_resources anymore #1117

@FlorianSW

Description

@FlorianSW

When using the cloudformation-cli with the latest setuptools (which needs to be manually installed, see #1067), which currently is 82.0.1, running any cfn command errors with the following error message:

/test # cfn generate
Traceback (most recent call last):
  File "/usr/local/bin/cfn", line 3, in <module>
    from rpdk.core.cli import main
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/cli.py", line 12, in <module>
    from .build_image import setup_subparser as build_image_setup_subparser
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/build_image.py", line 11, in <module>
    from .project import Project
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/project.py", line 21, in <module>
    from rpdk.core.fragment.generator import TemplateFragment
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/fragment/generator.py", line 14, in <module>
    from rpdk.core.data_loaders import resource_json
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/data_loaders.py", line 9, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

Steps to reproduce:
Running in docker: docker run -it --rm python:3.13-alpine sh

  • install cfn cli: pip3 install cloudformation-cli
  • install setuptools: pip3 install setuptools
  • run cfn generate

Expected result:
Some valid cfn error message, such as Project file /.rpdk-config not found. Have you run 'init' or in a wrong directory?.

Current result:

 # cfn generate
Traceback (most recent call last):
  File "/usr/local/bin/cfn", line 3, in <module>
    from rpdk.core.cli import main
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/cli.py", line 12, in <module>
    from .build_image import setup_subparser as build_image_setup_subparser
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/build_image.py", line 11, in <module>
    from .project import Project
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/project.py", line 21, in <module>
    from rpdk.core.fragment.generator import TemplateFragment
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/fragment/generator.py", line 14, in <module>
    from rpdk.core.data_loaders import resource_json
  File "/usr/local/lib/python3.13/site-packages/rpdk/core/data_loaders.py", line 9, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

Current workaround:
Install a setuptools version lower or equal than 81.0.0 (pip3 install setuptools==81.0.0).

Background:
setuptools starting with 82.0.0 removes the pkg_resources package, see:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions