-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
setuptools version
setuptools==80.10.1
Python version
Python 3.14
OS
Microsoft Windows 10
Additional environment information
No response
Description
I have a package called dpt3.0-dptdb and while catching up to Python3.14 ran into a problem where wheel complains with a FileNotFoundError about a successfully built package. The existing build and install stuff, up to Python3.11 using older versions of build, setuptools, and wheel, continued to succeed.
The difference between success and failure turns out to be between setuptools-75.8.0 and setuptools-75.8.1 which involved 'Fix "Wheel naming is not following PEP 491 convention" #4766'.
The problem was first seen after 'py -3.14-32 -m pip install setuptools' installed version 80.10.1 on a fresh install.
The Python Packaging User Guide says distribution name can contain letters, numbers, ., _ , and -.
PEP 491 gives the pattern re.sub("[^\w\d.]+", "_", distribution, re.UNICODE) for escaping each component of the filename.
So I am expecting the '.' in 'dpt3.0-dptdb' to be retained, not replaced by '_'.
The script demonstrating this is at packaging-problem.txt.
Expected behavior
I expected the 'nmake -f v3r0_vs2017_c++14_py3-14_32.Nmakefile local-install' command to successfully install the package with both 75.8.0 and 75.8.1 versions of setuptools, and by implication the 80.10.1 version too.
How to Reproduce
I will create a minimal reproducer if I must. Assuming just the project name matters it would be created with Python 3.12 on OpenBSD, not the nmake stuff where I care.