Hey there.
I've encountered some weird behavior and I'm not too sure where it's coming from. I'm building some wheels with Travis, but they don't seem to be named correctly. For instance cibuildwheel outputs a wheel called chantilly-0.1.0-py3-none-any.whl. In other words the exact Python version and the platform don't seem to be picked up. This is weird because I'm reusing the same setup I am using for another project.
I thought you might be able to take a look at the Travis build and see what's going wrong. I've probably missed something obvious but I'm at a loss to explain what. Here is the Travis build. As you can see I ran python3 -m cibuildwheel --print-build-identifiers and everything seems okay. The relevant Travis file is here.
@MaxHalford There are not files that need to be compiled in this project, if I didn't overlook something in your repo? So there's no need to have wheels for different versions of Python (as your project doesn't need to be compiled against an ABI that changes from version to version). This must be detected somewhere by wheel, and so it just give a filename that says the wheel's ABI version is none and can be used on any platform.
See also https://packaging.python.org/guides/distributing-packages-using-setuptools/#wheels for the distinction between "universal", "pure Python", and "plaform" wheels.
Extra: I don't think this project would really need cibuildwheel, btw. You can just run pip wheel on any platform and don't need cibuildwheel to setup different Python versions on different platforms.
I see... Thanks for the crash course and sorry for the noise :)
I'm interpreting this as a +1 for #255 - a well-written error message would help in that case.
Hi guys.
I have similar problem but slightly more complicated code and I don't know how to force it to produce platform specific
https://github.com/TobKed/beam/pull/1
I appreciate any help in this matter
CC @joerick @YannickJadoul
In your code pipeline is blocked on getting source (404) so it is not cibuildwheel related.
@Czaki thanks for info, at night new version of apache/beam was released and probably something went wrong.
Here is historical working GH-Action
https://github.com/TobKed/beam/actions/runs/116821432
which produced only two files:
apache_beam-2.20.0-py2-none-any.whl
apache_beam-2.20.0-py3-none-any.whl
The background of my draft is that I want to substitute this repo: apache/beam-wheels which uses matthew-brett/multibuild with gh-actions and cibuildwheel in Beam repo itself.
Ok. I'm not sure, but wheels may be build in isolated enviroments.
So then
https://github.com/apache/beam/blob/05882606bc638698ebc8e16a978d184b3f7ba5fe/sdks/python/setup.py#L130-L134
May decide to use lambda version. I see that there is comment to not use setup_requires https://github.com/apache/beam/blob/05882606bc638698ebc8e16a978d184b3f7ba5fe/sdks/python/setup.py#L294
but I do not understand why.
First I suggest to disable this try catch and check if build pass. If not then You got reason (isolated build is introduced in new pip)
If this is a problem and you cannot use setup_requires You may can still use pyproject.toml file with [build_meta] section
[build-system]
# Minimum requirements for the build system to execute.
requires = ["setuptools>=42.0.0", "wheel>=0.34.2", "Cython"] # PEP 508 specifications.
build-backend = "setuptools.build_meta"
Somehow, the problem seems to be that setup.py/setuptools does not find any C extensions and sees only Python files, and thus just decides the wheel is not built per Python version but can be used for all Python 2/3 versions.
Actually, I can't find where Cython would be installed, and since those extension modules are described as "optional", that's probably why they are not compiled and why there are no C extensions for setuptools to find.
Have you tried to set CIBW_BEFORE_BUILD="pip install Cython"? Or am I missing something?
thanks @Czaki and @YannickJadoul , lack of Cython may be a root cause of problem.
I am blocked since few hours ago when quay.io/pypa/ started to have troubles and manylinux images can not be pulled from it.
I stopped at creating source distribution on gh-actions and passing it to cibuildwheel with CIBW_BEFORE_BUILD="pip install Cython" and it seems to works 馃帀 . I will let you know when I go further and confirm final solution.
I confirm, added CIBW_BEFORE_BUILD="pip install Cython" solved the problem. Big thanks to @Czaki and @YannickJadoul 馃 馃憦
Most helpful comment
I confirm, added
CIBW_BEFORE_BUILD="pip install Cython"solved the problem. Big thanks to @Czaki and @YannickJadoul 馃 馃憦