aws / aws-lambda-python-runtime-interface-client

Apache License 2.0
258 stars 73 forks source link

Subtle 3.9 incompatibility via simplejson #62

Closed matthewdeanmartin closed 5 months ago

matthewdeanmartin commented 2 years ago

So 2.0 claims to support 3.9, however it has a dep on the wrong version of a library that lacks a wheel for 3.9

pipenv install --python=3.9
# restrict to installing only wheels because some organizations have never met a security feature they didn't like
export PIP_ONLY_BINARY=:all:
pipenv install awslambdaric --skip-lock

The relevant part of error

ERROR: Cannot install awslambdaric==1.0.0, awslambdaric==1.1.0, awslambdaric==1.1.1, awslambdaric==1.2.0, awslambdaric==1.2.1, awslambdaric==1.2.2 and awslambdaric==2.0.0 because these package versions have conflicting dependencies.
The conflict is caused by:
    awslambdaric 2.0.0 depends on simplejson==3.17.2
... snip ...
    awslambdaric 1.0.0 depends on simplejson==3.17.2

Translated, the error is saying that simplejson lacks a wheel for 3.9.

Comments

salwon commented 9 months ago

Are there any updates from the team on this? I see that the change was made to upgrade, but it was downgraded again a few weeks ago. This is a blocker for upgrading from 3.8 - I am unable to build a Lambda function because simplejson 3.17.2 does not have wheels for 3.9+.

kpark-hrp commented 6 months ago

@briensea Any update?

briensea commented 5 months ago

Fixed in 2.0.11.