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

No support for Python packages that rely on manylinux wheels newer than manylinux2014 #700

Open
svet-b opened this issue Nov 4, 2024 · 2 comments
Labels
area/build area/workflow/python_pip blocked/more-info-needed More info is needed from the requester. If no response in 14 days, it will become stale. python Pull requests that update Python code

Comments

@svet-b
Copy link

svet-b commented Nov 4, 2024

Description:

Using sam build (without --use-container) and trying to install a recent version of Polars, such as 1.12.0, fails with "Could not find a version that satisfies the requirement ...". Only Polars versions up to 0.19.12 are listed as available.

This is because Polars stopped shipping wheels based on manylinux2014 (link), on the basis that it's outdated (and essentially EOL).

Meanwhile, at present sam build supports only manylinux up to manylinux2014 (aka manylinux_2_17) wheels, and no versions more recent than that (source). I'm experiencing this on ARM64, but it appears to be true for x86_64 also.

I haven't done a thorough search on how widespread of an issue this is, but there's at least one other similar report here: #674

Given that Python package maintainers are moving away from an outdated version of manylinux, it would be great for this toolchain to also support more recent versions.

I should note that using sam build --use-container does build successfully. But I'd like to avoid that since (a) it adds some weight to the build process, and (b) I'm running the build inside CodePipeline, which is not happy with me trying to spin up a container inside it.

Hopefully it's ok to not add further detail for now as I think the issue I'm describing is self-evident - but happy to attach some detailed logs/reproducers if actually helpful.

@svet-b svet-b added the stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at. label Nov 4, 2024
@mndeveci
Copy link
Contributor

Thanks for reporting this issue.

If you build it with sam build --use-container, does running sam local invoke and deploying the function works as expected? If so, we need to attach this issue to the one above to make sure AWS Lambda Builders can support the newer manylinux versions that is supported by Lambda.

@mndeveci mndeveci added area/workflow/python_pip blocked/more-info-needed More info is needed from the requester. If no response in 14 days, it will become stale. area/build python Pull requests that update Python code and removed stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at. labels Nov 12, 2024
@svet-b
Copy link
Author

svet-b commented Nov 13, 2024

Thank you for looking into this. Indeed, after building with --use-container, running sam local invoke works as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build area/workflow/python_pip blocked/more-info-needed More info is needed from the requester. If no response in 14 days, it will become stale. python Pull requests that update Python code
Projects
None yet
Development

No branches or pull requests

2 participants