astral-sh / packse

Python packaging scenarios
Apache License 2.0
93 stars 9 forks source link

Trying to understand "local-not-used-with-sdist" scenario #158

Closed notatallshaw closed 5 months ago

notatallshaw commented 5 months ago

I am looking as to why pip does not agree with the expected output of "local-not-used-with-sdist" scenario: https://github.com/astral-sh/packse/blob/0.3.12/scenarios/local.json#L25

Pip ends with "Successfully installed local-not-used-with-sdist-a-207c9df5-1.2.3+foo", which looks correct to me? But expected is listed as "a": "1.2.3"

I think "1.2.3" is exlcluded by pip because of the wheel tag "py3-any-macosx_10_0_ppc64", which I don't think is a very common compatible tag? Is there somewhere listed what compatible tags the installer is supposed to be using?

Apologies if I'm missing something very obvious.

zanieb commented 5 months ago

This sounds like a bug in pip, although we can definitely discuss it more.

1.2.3 should not have a wheel available because of the incompatible tag. However, the source distribution should be available and 1.2.3 should be preferred over 1.2.3+foo because the user has not requested a version with a local segment.

notatallshaw commented 5 months ago

Ah, I understand now, I did find this very confusing. I will investigate further on the pip side, maybe it's already a known issue.

zanieb commented 5 months ago

We could just disable wheels for that version instead of using a weird tag if that's confusing.

notatallshaw commented 5 months ago

Yes, I do think that would be cleaner and less confusing when reading the scenario.

Also, technically someone could fork a modern version of CPython and start building it for ppc64 macs 😅.