1. PyPA
  2. Python Packaging Authority Projects
  3. distlib
  4. Issues
Issue #26 resolved

Distlib cannot install script wrappers for wheels using metadata 1.x

Paul Moore
created an issue

Wheels that use metadata 1.x (e.g., all wheels created by bdist_wheel or pip wheel) specify console scripts in the setuptools metadata file entry-points.txt. Distlib doesn't appear to parse this file, and so fails to create script wrappers for such wheels.

Comments (4)

  1. Vinay Sajip

    Isn't this just a facet of wheel not having implemented the latest updates to the spec? Wheels built with the latest wheel incorporate pydist.json, so I assume the correct thing to do is to specify the "commands" key as per the spec. Obviously it is fairly easy for me to pull this out of entry_points.txt - I do parse it for exports, but only if there's no JSON equivalent. But there's no point doing it if wheel will update its pydist.json implementation in due course, right? Of course, before commands were added to the spec, distlib did get that info from entry_points :-)

  2. Paul Moore reporter

    Wait, wheel 0.21.0 uses pydist.json? I didn't know that! My apologies - in which case it has a problem in not implementing the commands metadata as you say. But it also means that the wheel spec is drastically out of date and we have no code anywhere in the wild that actually implements the wheel PEP.

  3. Vinay Sajip

    No problem, but there are other problems with wheel's pydist.json. For example, when I built wheel 0.21 using itself, the JSON produced may be syntactically correct but is not semantically so. For example, it contains things like

    "environment": "extra = ..."

    when dependencies on an extra are declared through the "extra" key and not the "environment" key. These are just transitional issues, I believe, so I've not raised any issues about this against the wheel project, until Daniel says it's up to date with respect to the PEP.

  4. Log in to comment