-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[BUG] packages of the form package.something renamed to package_something in 75.8.1 #4853
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
Comments
I realize from the release notes that the wheel renaming was intentional: But the it's not clear that renaming the .dist-info and the actual package name was indeed intended. |
This issue sounds relevant to what we're experiencing. We started getting Docker image runtime failures today (very unusual), where as far as we can tell the only difference is
Also: So seems related to packages with Our solution was to bump Not sure there is fix needed here, but commenting since this broke us in prod. |
It is, this brings setuptools in alignment with the specification for both wheel filenames and the
It seems like this is probably a bug in |
Well...the spec itself is not consistent in this regard:
It implies One other thought...doesn't this now mean these two tools will alias? does something like pypi.org prevent both of these packages from existing?
If this is the new standard and it already works with all the rest of the eco-system, then we'll work to code up a new equivalent of the |
We have the exact same issue for our tooling. We do use namespaces extensively in our packages and the're now all broken. 🫤 |
I think the best way forward here is to create a patch for I would also like to emphasize that is important for the community to start moving away from |
No disgareements on the need to move away, but it's not scheduled for EOL till python3.13. I thought we had till then to remove it from our infrastructure. It effectively is 3.12 now (or freeze to old setuptools -- which we'll have to do for a bit) |
... due to dot replaced to dash in module name. See pypa/setuptools#4853 and #25
... due to dot replaced to dash in module name. See pypa/setuptools#4853 and #25
Same issue here. All our jobs are broken since yesterday because of this change. |
Same issue here, all the docker images build today are not starting because of collective.volto.formsupport's wheel being created in collective_volto_formsupport instead. I just found out about this issue, pinning setuptools==75.8.0 doesen't fix it. (only collective.volto.formsupport is being written to the wrong path, idk why) |
In case it helps: make sure you are pinning in the |
To be clear, there are two separate issues being discussed here:
The first one is a bug and I've prepared a PR to fix it: #4855. If you're having the second issue, setuptools is now producing the correct filename going forward and you should update your builds accordingly (or pin back |
Hi @di
Here is my build system config:
|
@gilamsalem The |
Thanks @di for the quick replies. So from our side anything we can do to at least temporary unblock us? Also the code that throws the exception is: |
Seems like your issue is a mix of both. The issue with using Downgrading the version of setuptools used to build |
The CI is working now to release a new patched version of setuptools that should solve the problem with For people having problems with the exact name of the distribution file has changed a character to |
Hi @krpatter-intc could you please point out where you found the information about |
Apologies, I stated 3.13, and I probably confused with And indeed it seems like it is still being supported via some PRs so I'm very grateful for the help here. |
So this is a |
My problem is solved now with version 75.8.2. Thanks! |
Does this mean that implicit namespaces in Python 3.9 is no longer supported by setuptools, post v75.8.0? Or am I missing something obvious? |
It does not mean that. The (machine-readable standardised) name of the generated wheel/sdist file and associated |
I'm sorry, I'm feeling a bit dense this morning. When I build my namespace package using setuptools >75.8.0, it builds fine, the resulting wheel installs fine, but when I try to import the package in Python 3.9, I get either Is this something that is meant to be fixed in Python 3.9, or am I missing something here? |
From the point of view of setuptools we have not identified anything else so far that needs fixing in Python 3.9. For a simple The standard recently implemented in setuptools does require the names of |
This is helpful, thank you ! |
I suspect this problem may have already been fixed in the latest versions of (The trouble with stdlib is that the version of the libraries are fixed on the moment of the release, but you may be lucky with |
Thank you - I've tested this and with version 8.6.1 installed, the problem persists (added as a dependency in the package wheel) |
I confirmed that this is a bug that exists in Looks like this was fixed in https://pypi.org/project/importlib-metadata/2.1.0/ and https://pypi.org/project/importlib-metadata/3.1.0/. The entry at https://github.com/python/importlib_metadata/blob/main/NEWS.rst#v210 says:
@Zoltag Note that if you're unable to upgrade your Python version and instead installing - from importlib.metadata import version
+ from importlib_metadata import version |
setuptools version
setuptools==75.8.1
Python version
python3.10
OS
windows
Additional environment information
Description
We have packages using pyproject.toml of the form:
something.module
that use implicit namespaces forsomething
The latest 75.8.1 seems to rename the
something.module-1.2.3.dist-info
to be instead:something_module-1.2.3.dist-info
rolling back to 75.8.0 this problem does not exist.
This breaks folks using something of the form
pkg_resources.require('something.module')
as it now only works if they havepkg_resources.require('something-module')
Expected behavior
packages should continue to have the
something.module
formHow to Reproduce
And you'll note the naming difference in the wheel (and the .dist-info file)
You can then run:
Output
I'm aware pkg_resources is on its way out, but this still feels bad that the package has a new name. I'm not sure what the new equivalent/replacement for
pkg_resources.require
is.The text was updated successfully, but these errors were encountered: