[PyQt] sip-build --debug and wheels on a Raspberry Pi
Phil Thompson
phil at riverbankcomputing.com
Wed Apr 8 15:26:04 BST 2020
On 08/04/2020 13:03, Kyle Altendorf wrote:
> On 2020-04-08 07:29, Phil Thompson wrote:
>> On 08/04/2020 04:10, Kyle Altendorf wrote:
>>> 2) Building a wheel with pip on an ARM Raspberry Pi results in a file
>>> with manylinux2014_x86_64 in the name. Perhaps something based on
>>> distutils.util.get_platform() (plus pep425 described modification of
>>> the value) and replacing linux with manylinux<whatever>? Or you'd
>>> think some official library would expose this calculation for you to
>>> use.
>>>
>>> PyQt5-5.14.2-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl
>>>
>>> Backstory: I'm trying to help piwheels get a build going for PyQt5.
>>
>> <whatever> is chosen according to the glibc requirements of Qt. It is
>> specified using 'minimum-glibc-version' in ...
>>
>> https://www.riverbankcomputing.com/static/Docs/sip/pyproject_toml.html#tool-sip-project-section
>
> Sorry, I added to my description and it became less clear. The
> concern is the x86_64 part, I have no knowledge of errors in the
> manylinux part. Raspberry Pi are armv7l. PEP425 describes building
> the platform tag, albeit without the manylinux part.
>
> https://www.python.org/dev/peps/pep-0425/#platform-tag
>
> So maybe distutils.util.get_platform().replace('-', '.').replace('.',
> '_').replace(sys.platform, the_selected_manylinux_tag). Or maybe the
> wheel package has something, etc. I haven't looked at what this does
> in macOS so I certainly may still be way off.
>
> >>> distutils.util.get_platform().replace('-', '.').replace('.',
> '_').replace(sys.platform, 'manylinux2014')
> 'manylinux2014_x86_64'
>
> >>> distutils.util.get_platform().replace('-', '.').replace('.',
> '_').replace(sys.platform, 'manylinux2014')
> 'manylinux2014_armv7l'
manylinux is only defined for Intel platforms.
I assume a normal setuptools is being used to build these...
https://www.piwheels.org/project/PyQt5-sip/
...so it would seem to make sense to follow that convention.
Can you tell me *exactly* what get_platform() returns in a Pi?
Thanks,
Phil
More information about the PyQt
mailing list