Cannot complete a Docker image build with spaCy 3.7.6
How to reproduce the behaviour
We use spaCy in our project, and as part of our regular work process, we build Docker images. As of the new spaCy version 3.7.6, we are no longer able to complete our Docker image builds, as the process hangs up here (from our workflow logs):
#31 96.78 Getting requirements to build wheel: started
#31 249.2 Getting requirements to build wheel: still running...
I found this recent cibuildwheel PR in the repo here, and I'm wondering if it might be related: https://github.com/explosion/spaCy/pull/13603
It looks like a handful of Checks for this PR failed: https://github.com/explosion/spaCy/pull/li13603/checks
This includes the automated tests for Ubuntu latest with Python 3.12.4, which is our environment as well. In fact, these sepcific tests seemed have failed (or were manually canceled?) at the same point we experience this issue: https://github.com/explosion/spaCy/actions/runs/10180926505/job/28159915584?pr=13603
Perhaps more of an infrastructure issue than a code bug per se, but I'm hoping someone could advise us on it? Thanks!
Your Environment
- Operating System: Ubuntu, latest (issue reported evident in our GitHub Actions Docker image build process)
- Python Version Used: 3.12.4
- spaCy Version Used: 3.7.6
- Environment Information:
It takes ages. 3.7.5 works fine.
I'm having this exact issue with 3.7.6 too. I can also confirm 3.7.5 works fine.
Yes, I can report the same is true for us. Version 3.7.5 works, and that's what we've pinned to for now.
Hm, the problem here seems to be that you have to build a wheel --- that shouldn't be necessary. The wheel files for the release are here: https://pypi.org/project/spacy/#files
I don't suppose you have arguments on pip that specifically tell it to compile?
Hi @honnibal ,
Thanks for the reply. Yes, the need to build a wheel seems odd/incorrect in some way. And no, our workflow does not have any specific pip commands for compiling spaCy or any other dependent packages.
Might the next version get this sorted out, do you think?
Yes it should. I'm releasing a v3.8 with the numpy fix and which also restores some missing wheels. I'm incrementing the minor version because we have to drop support for Python 3.8 with the numpy v2 change.
One thing we won't have yet however is wheels for ARM on Linux. I've migrated to a simpler build system based on Github Actions that doesn't require self-hosted runners. However, Github Actions doesn't currently support ARM for public repos. This should be coming soon, but in the meantime we don't have wheels for Linux ARM. I tried QEMU emulation but it's unfortunately too slow.
Thanks @honnibal , much appreciated!
I see some 3.8-related tags in the repo, but not one that looks like a final release version (e.g. v3.8.0). Are you still cooking this one a bit?
Thanks again
@erikspears spaCy v3.8 is now out. It took longer to release than I'd hoped because the models actually specify a version dependency on spaCy, which meant even a small change like this required new models.
I've released new model versions which don't have this requirement, and bumped the version to v3.8. Please reopen or rereport if there are problems.
Hi @honnibal , great news, and thanks for the update!
One catch, I don't see 3.8.0 available at PyPi. The release history there actually shows a 3.8.0 and a 3.8.1 that were "Yanked" earlier in September. Not sure what that implies for getting the new 3.8.0 published? Happy to take a test drive once it's available however. Thanks again!
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.