Skip to content

HTTPError: 400 Client Error: Binary wheel 'tensorflow_tflex-1.13.1rc1-cp27-cp27mu-linux_aarch64.whl' has an unsupported platform tag 'linux_aarch64'. for url: https://upload.pypi.org/legacy/ #6599

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

Closed
HangJie720 opened this issue Sep 9, 2019 · 1 comment

Comments

@HangJie720
Copy link

Q1: Execuse me, I want to know why linux_aarch64 tag is unsupported for uploading?
Q2:Our self-compiled tensorflow_tflex-1.13.1rc1-cp27-cp27mu-manylinux1_aarch64.whl cannot be installed by pip on my arm dev board. what is the difference between linux and manylinux1?
Could you help me upload the tensorflow_tflex-1.13.1rc1-cp27-cp27mu-linux_aarch64.whl, and then installed by pip on arm dev board. Than you very much!

@jamadden
Copy link
Contributor

jamadden commented Sep 9, 2019

The manylinux1 platform tag was defined by PEP 513 as a standard for distributing 32 and 64-bit binaries for Intel processors, only.

There is no such standard (yet) for ARM processors.

PyPI only accepts uploads of standardized distributions. Platform tags that are not standard, such as linux__aarch64 for ARM are unlikely to work for users not using an identical system to the one on which they were built, making it hard to diagnose problems and frustrating for users, and PyPI does not allow uploading them. As the PEP says:

[T]he too-vague linux_i686 or linux_x86_64 tags [are ambiguous, so] there is no expectation that linux-tagged built distributions compiled on one machine will work properly on another, and for this reason, PyPI has not permitted the uploading of wheels for Linux.

It would be ideal if wheel packages could be compiled that would work on any linux system. But, because of the incredible diversity of Linux systems -- from PCs to Android to embedded systems with custom libcs -- this cannot be guaranteed in general.

This is why manylinux1 and its successors are special: they place limits on how a wheel can be built.

You can use a custom index server to distribute your own wheels, but you still must use a correct platform tag, otherwise pip won't be able to install them. I think manylinux1_aarch64 is not a correct platform tag because manylinux1 was only defined for x86_64 and i686 processors.

There's some further discussion here.

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

2 participants