0

My package, airship-steamcloud, is on PyPI, and I generate three wheels for Windows (32- and 64-bit) and OS X, as well as one containing all the binaries for every platform. However, whenever I install it through pip on a computer running OS X, it downloads the nonspecific wheel:

Collecting airship-steamcloud
  Downloading airship_steamcloud-1.4.0-py2.py3-none-any.whl (595kB)
    100% |████████████████████████████████| 598kB 746kB/s 

Is this an issue with how the wheel is named?

List of wheels is available here. I generate them with this script.

Carlos Liam
  • 305
  • 2
  • 10

1 Answers1

1

The PEP 425 tags are used to hint the installer (here pip) to determine which is the best pre-built wheel to use. Normally:

It is recommended that installers try to choose the most feature complete built distribution available (the one most specific to the installation environment) by default before falling back to pure Python versions published for older Python releases.

So you are right to assume that an OS-specific should be picked first and this is in general what PIP does. Now unless you are still effectively running on MacOSX 10.6 (possible but doubtful), the any tag will likely be picked over the more specific 10.6 tag because this tag will not be matched to a more recent version of MacOSX.

One way around this is to generate a wheel for every version of Mac OSX you support (and since the 10.6 binaries are likely to work on more recent versions of MacOSX, these would be the same binaries in most cases). Another would be to enhance pip and metatada the same way this has been done for Linux in PEP 514

Philippe Ombredanne
  • 2,017
  • 21
  • 36