[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