Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pre-commit cant install cfn-lint with python3.13 #3852

Open
whoDoneItAgain opened this issue Dec 2, 2024 · 2 comments
Open

pre-commit cant install cfn-lint with python3.13 #3852

whoDoneItAgain opened this issue Dec 2, 2024 · 2 comments

Comments

@whoDoneItAgain
Copy link
Contributor

whoDoneItAgain commented Dec 2, 2024

CloudFormation Lint Version

1.20.1

What operating system are you using?

windows, python3.13.0, pre_commit==4.0.1

Describe the bug

not sure this is directly a cfn-lint issue but since switching to python3.13, pre-commit cannot install the hook for cfn-lint.

Expected behavior

install without issue

Reproduction template

[INFO] Installing environment for https://github.com/aws-cloudformation/cfn-python-lint.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('C:\\Users\\whodoneitagain\\.cache\\pre-commit\\repoq8eqb9jp\\py_env-python3.13\\Scripts\\python.EXE', '-mpip', 'install', '.')
return code: 1
stdout:
    Processing c:\users\whodoneitagain\.cache\pre-commit\repoq8eqb9jp
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'done'
    Collecting pyyaml>5.4 (from cfn-lint==1.20.0)
      Using cached PyYAML-6.0.2-cp313-cp313-win_amd64.whl.metadata (2.1 kB)
    Collecting aws-sam-translator>=1.92.0 (from cfn-lint==1.20.0)
      Using cached aws_sam_translator-1.94.0-py3-none-any.whl.metadata (8.3 kB)
    Collecting jsonpatch (from cfn-lint==1.20.0)
      Using cached jsonpatch-1.33-py2.py3-none-any.whl.metadata (3.0 kB)
    Collecting networkx<4,>=2.4 (from cfn-lint==1.20.0)
      Using cached networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB)
    Collecting sympy>=1.0.0 (from cfn-lint==1.20.0)
      Using cached sympy-1.13.3-py3-none-any.whl.metadata (12 kB)
    Collecting regex (from cfn-lint==1.20.0)
      Using cached regex-2024.11.6-cp313-cp313-win_amd64.whl.metadata (41 kB)
    Collecting typing_extensions (from cfn-lint==1.20.0)
      Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
    Collecting boto3==1.*,>=1.19.5 (from aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached boto3-1.35.72-py3-none-any.whl.metadata (6.7 kB)
    Collecting jsonschema<5,>=3.2 (from aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
    Collecting pydantic!=1.10.15,!=1.10.17,<3,>=1.8 (from aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached pydantic-2.10.2-py3-none-any.whl.metadata (170 kB)
    Collecting botocore<1.36.0,>=1.35.72 (from boto3==1.*,>=1.19.5->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached botocore-1.35.72-py3-none-any.whl.metadata (5.7 kB)
    Collecting jmespath<2.0.0,>=0.7.1 (from boto3==1.*,>=1.19.5->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)
    Collecting s3transfer<0.11.0,>=0.10.0 (from boto3==1.*,>=1.19.5->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached s3transfer-0.10.4-py3-none-any.whl.metadata (1.7 kB)
    Collecting mpmath<1.4,>=1.1.0 (from sympy>=1.0.0->cfn-lint==1.20.0)
      Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
    Collecting jsonpointer>=1.9 (from jsonpatch->cfn-lint==1.20.0)
      Using cached jsonpointer-3.0.0-py2.py3-none-any.whl.metadata (2.3 kB)
    Collecting attrs>=22.2.0 (from jsonschema<5,>=3.2->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached attrs-24.2.0-py3-none-any.whl.metadata (11 kB)
    Collecting jsonschema-specifications>=2023.03.6 (from jsonschema<5,>=3.2->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
    Collecting referencing>=0.28.4 (from jsonschema<5,>=3.2->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)
    Collecting rpds-py>=0.7.1 (from jsonschema<5,>=3.2->aws-sam-translator>=1.92.0->cfn-lint==1.20.0)
      Using cached rpds_py-0.22.0.tar.gz (26 kB)
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'error'
stderr:
      error: subprocess-exited-with-error

      Preparing metadata (pyproject.toml) did not run successfully.
      exit code: 1

      [6 lines of output]

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

      Checking for Rust toolchain....
      [end of output]

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

    Encountered error while generating package metadata.

    See above for output.

    note: This is an issue with the package mentioned above, not pip.
    hint: See above for details.
Check the log at C:\Users\whodoneitagain\.cache\pre-commit\pre-commit.log
@kddejong
Copy link
Contributor

kddejong commented Dec 9, 2024

I tried to replicate this and was unsuccessful. I'll have to try it again.

@whoDoneItAgain
Copy link
Contributor Author

followed the implied recommendation from the error

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

and it started working for me so there is a workaround at minimum

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants