Skip to content
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

Install fails for package with epoch version following PEP-427 #11443

Closed
1 task done
wenkokke opened this issue Sep 9, 2022 · 1 comment
Closed
1 task done

Install fails for package with epoch version following PEP-427 #11443

wenkokke opened this issue Sep 9, 2022 · 1 comment
Labels
resolution: not a bug Determined as not a bug in pip

Comments

@wenkokke
Copy link

wenkokke commented Sep 9, 2022

Description

See python-poetry/poetry#6466.

Using a package with an epoch version, e.g., "1!1.0.0", building the package with poetry creates a wheel with the filename containing "1_1.0.0", replacing the ! with a _ following PEP-427.

However, pip expects the wheel to have a version name containing "1!1.0.0", and fails with message "ERROR: Could not build wheels for , which is required to install pyproject.toml-based projects".

Expected behavior

I'd expect pip to follow PEP-427 and accept a wheel containing "1_1.0.0" instead of "1!1.0.0".

pip version

22.2.2

Python version

3.9.13

OS

macOS 11

How to Reproduce

  1. Create a poetry package with a non-zero epoch, e.g., 1!1.0.0.
  2. Install the package with pip install ..

Output

No response

Code of Conduct

@wenkokke wenkokke added S: needs triage Issues/PRs that need to be triaged type: bug A confirmed bug or unintended behavior labels Sep 9, 2022
@uranusjr
Copy link
Member

The rule you referenced from PEP 427 is outdated. The most up-to-date and canonical specification of wheel file names (among other things) can be found on packaging.python.org:

Version numbers should be normalised according to PEP 440. Normalised version numbers cannot contain -.

A wheel builder should retain the ! character, and Poetry’s current implementation is incorrect.

@uranusjr uranusjr closed this as not planned Won't fix, can't repro, duplicate, stale Sep 11, 2022
@uranusjr uranusjr added resolution: not a bug Determined as not a bug in pip and removed type: bug A confirmed bug or unintended behavior S: needs triage Issues/PRs that need to be triaged labels Sep 11, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
resolution: not a bug Determined as not a bug in pip
Projects
None yet
Development

No branches or pull requests

2 participants