• Uncategorized

About pip : Wheel-files-What-is-the-meaning-of-none-any-in-protobuf-340-py2py3-none-anywhl

Question Detail

I used pip to get .whl file for numpy

pip wheel --wheel-dir=./ numpy

and I have got numpy-1.13.3-cp27-cp27mu-linux_armv7l.whl because I am using ARM platform, but when run pip for protobuf

pip wheel --wheel-dir=./ protobuf

I got protobuf-3.4.0-py2.py3-none-any.whl

So, why isn’t linux_armv7l like the case of numpy, I didn’t alter the machine and searched for that difference but no information.

thanks for advice .

Question Answer

Let’s split package names by components:

  • numpy — package name
  • 1.13.3 — package version
  • cp27 — the package was compiled to be used with this version of Python
  • cp27mu — compilation flags
  • linux — operating system
  • armv7l — processor architecture

This means that package numpy contains binary extensions written in C and compiled for specific processor, OS and Python version.

The following package is pure Python:

  • protobuf — name
  • 3.4.0 — version
  • py2.py3 — the package is written in highly portable manner and is suitable for both major versions of Python
  • none — is not OS-specific
  • any — suitable to run on any processor architecture

The wheel filename is {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl.


Distribution name, e.g. ‘django’, ‘pyramid’.


Distribution version, e.g. 1.0.

build tag

Optional build number. Must start with a digit. A tie breaker if two wheels have the same version. Sort as the empty string if unspecified, else sort the
initial digits as a number, and the remainder lexicographically.

language implementation and version tag

E.g. ‘py27’, ‘py2’, ‘py3’.

abi tag

E.g. ‘cp33m’, ‘abi3’, ‘none’.

platform tag

E.g. ‘linux_x86_64’, ‘any’.

reference is here.

You may also like...

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.