5

What is the naming convention used for the Python wheels at Christoph Gohlke's Unofficial Windows Binaries for Python Extension Packages?

For example, for scipy here are two of names of wheels on the page:

scipy-0.17.0-cp27-none-win32.whl

scipy-0.17.0-cp27-none-win_amd64.whl

What does 'none' indicate?

What's the difference between win32 and win_amd64?

Does it matter if I'm using the x86 or x86-64 version of Python (ref Python 2.7.11)?

Machavity
  • 30,841
  • 27
  • 92
  • 100
user3731622
  • 4,844
  • 8
  • 45
  • 84

2 Answers2

6

Actually that's the wheel tool "naming convention". Sincerely I'm not sure what "none" indicates, but yes, your Python version matters. If you're using the 32-bit interpreter, then go ahead with the win32 option (under Windows, of course). Otherwise download the win_amd64 version for 64-bit distributions.

Hope it helps!

cdonts
  • 9,304
  • 4
  • 46
  • 72
  • 4
    Following the wheel link in this answer, led me to [wheel file naming convention](https://www.python.org/dev/peps/pep-0427/). On this page look for the section **File Format** with subsection **File Naming Convention**. – user3731622 Jan 26 '16 at 17:37
4

tl;dr: it's the wheel naming convention and none means it's pure python.

I've taken the extra step to follow answer/comments.

The none in this case is probably the ABI tag. From PEP 425:

The ABI tag indicates which Python ABI is required by any included extension modules. For implementation-specific ABIs, the implementation is abbreviated in the same way as the Python Tag, e.g. cp33d would be the CPython 3.3 ABI with debugging.

So none in this case means the package is advertised as "pure-python" (none of it's local dependencies require a specific application binary interface).

This is assuming the provided wheel files are names using the official wheel file name convention:

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

distribution

Distribution name, e.g. 'django', 'pyramid'.

version

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'.

tutuDajuju
  • 10,307
  • 6
  • 65
  • 88