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

job fails on python 3.12 #1574

Closed
louisabraham opened this issue Aug 14, 2023 · 12 comments
Closed

job fails on python 3.12 #1574

louisabraham opened this issue Aug 14, 2023 · 12 comments

Comments

@louisabraham
Copy link

Description

This job failed

The reason is this pip bug so we should require pip >= 23.2

I'm trying a fix where I call pip install -U pip from CIBW_BEFORE_BUILD.

Build log

https://github.com/louisabraham/pydivsufsort/actions/runs/5851153678/job/15861602978

CI config

louisabraham/pydivsufsort@baf932e

@louisabraham
Copy link
Author

louisabraham added a commit to louisabraham/pydivsufsort that referenced this issue Aug 14, 2023
@joerick
Copy link
Contributor

joerick commented Aug 14, 2023

I think the reason is numpy, not pip, see numpy/numpy#23808

@henryiii
Copy link
Contributor

You can set PIP_PRE=1, that will get numpy 1.26.0b1.

@henryiii
Copy link
Contributor

henryiii commented Aug 14, 2023

Actually, even better, set PIP_ONLY_BINARY=:all:, then you'll never try to build numpy or other dependent wheels, and it will get the only binary it can find, even though it's a pre-release. :) (PIP_ONLY_BINARY=numpy also works)

Edit: though if you have a lower bound, then you still need the PRE.

@yunjunz
Copy link

yunjunz commented Aug 15, 2023

I got the same issue as well. Setting PIP_ONLY_BINARY=:all: does not seem to solve the issue.

@henryiii
Copy link
Contributor

Do you have a lower bound? For some reason, that changes the resolution to more strongly avoid pre-releases. You need PIP_PRE if so.

@henryiii
Copy link
Contributor

Oh, by the way, your example is incorrect. You can’t set environment variables directly, it must be via CIBW_ENVIRONMENT or use CIBW_ENVIRONMENT_PASS with it. It’s less error prone if you use pyproject.toml config.

@brenthuisman
Copy link
Contributor

brenthuisman commented Aug 17, 2023

Actually, even better, set PIP_ONLY_BINARY=:all:, then you'll never try to build numpy or other dependent wheels, and it will get the only binary it can find, even though it's a pre-release. :) (PIP_ONLY_BINARY=numpy also works)

Unfortunately, both break. PIP_ONLY_BINARY doesn't work for PyPy builds (they don't publish PyPy binaries), and PIP_PRE gets you that 1.26 beta, but it doesn't (yet) build for PyPy (1.25.x does).

@joerick
Copy link
Contributor

joerick commented Aug 17, 2023

If you want to, TOML overrides should allow you to solve that. You could set the PIP_ONLY_BINARY environment only on CPython, for example.

@brenthuisman
Copy link
Contributor

brenthuisman commented Aug 17, 2023

Yep, I'm awaiting CI on that :)

Just thought it would be good to point out there are no binary numpy wheels for PyPy.

[update] Just passed 🎉

@henryiii
Copy link
Contributor

Yes there are. But only for PyPy 3.9. 3.8 isn’t supported and 3.10 doesn’t seem to be added yet.

@joerick
Copy link
Contributor

joerick commented Sep 19, 2023

NumPy 1.26.0 is now released, this issue should be solved.

@joerick joerick closed this as completed Sep 19, 2023
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

5 participants