aws-cloudformation / cloudformation-cli

The CloudFormation Provider Development Toolkit allows you to author your own resource providers and modules that can be used by CloudFormation.
Apache License 2.0
316 stars 157 forks source link

cloudformation-cli is failing to install using python 3.11 #1017

Closed CI-code closed 9 months ago

CI-code commented 11 months ago

Problem Statement

While using python 3.11 with a pip version of 23.2.1, pip install cloudformation-cli fails with the below error message:


 Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [68 lines of output]
      /private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
      !!

              ********************************************************************************
              The license_file parameter is deprecated, use license_files instead.

              By 2023-Oct-30, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************

      !!
        parsed = self.parsers.get(option_name, lambda x: x)(value)
      running egg_info
      writing lib3/PyYAML.egg-info/PKG-INFO
      writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt
      writing top-level names to lib3/PyYAML.egg-info/top_level.txt
      Traceback (most recent call last):
        File "/Users/reshmram/miniconda/envs/cfncli/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/reshmram/miniconda/envs/cfncli/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/reshmram/miniconda/envs/cfncli/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 271, in <module>
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 314, in run
          self.find_sources()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
          mm.run()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 551, in run
          self.add_defaults()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
          sdist.add_defaults(self)
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
          super().add_defaults()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
          self._add_defaults_ext()
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
          self.filelist.extend(build_ext.get_source_files())
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "<string>", line 201, in get_source_files
        File "/private/var/folders/8c/r5dwc2v94lqbg0yl50t9ftc40000gr/T/pip-build-env-fzehif6s/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
          raise AttributeError(attr)
      AttributeError: cython_sources
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

The same installation works using python 3.9, however fails using python 3.11

fabiopaiva commented 9 months ago

The issue is also happening with other Python versions. Fixed it installing pyyaml==6.0.1

Some refs: https://github.com/yaml/pyyaml/issues/724 https://github.com/yaml/pyyaml/issues/723 https://stackoverflow.com/questions/76708329/docker-compose-no-longer-building-image-attributeerror-cython-sources

mircealam commented 9 months ago

still happening for python 3.11 What is the plan to properly support 3.11?

mircealam commented 9 months ago

python 3.11 support is being added in #1029

mircealam commented 9 months ago

support for 3.11 was added. please verify if you still have the issue + reopen if that's the case