NEW261947
[AutoInstall] package install can fail due to dependency checking
https://bugs.webkit.org/show_bug.cgi?id=261947
Summary [AutoInstall] package install can fail due to dependency checking
Sam Sneddon [:gsnedders]
Reported 2023-09-22 07:51:36 PDT
Trying to run https://github.com/WebKit/WebKit/pull/17351 I've run into: Downloading dnslib-0.9.23... Installing dnslib-0.9.23... Traceback (most recent call last): File "/var/folders/qk/hmjj9_lx2cg3_4v3vx3y7y_w0000gn/T/dnslib-62794/dnslib-0.9.23/setup.py", line 38, in <module> setup(name='dnslib', File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/setuptools/_distutils/core.py", line 108, in setup _setup_distribution = dist = klass(attrs) File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/setuptools/dist.py", line 434, in __init__ _Distribution.__init__(self, { File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/setuptools/_distutils/dist.py", line 293, in __init__ self.finalize_options() File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/setuptools/dist.py", line 742, in finalize_options for ep in sorted(eps, key=by_order): File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/setuptools/dist.py", line 741, in <lambda> eps = map(lambda e: e.load(), pkg_resources.iter_entry_points(group)) File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/pkg_resources/__init__.py", line 2449, in load self.require(*args, **kwargs) File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/pkg_resources/__init__.py", line 2472, in require items = working_set.resolve(reqs, env, installer, extras=self.extras) File "/Volumes/gsnedders/projects/Safari/OpenSource/Tools/Scripts/libraries/autoinstalled/python-3-arm64/pkg_resources/__init__.py", line 772, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'pyparsing!=3.0.5,>=2.0.2' distribution was not found and is required by packaging Failed to install dnslib-0.9.23! Seemingly, setuptools is checking that requirements are satisfied for installed distributions, and finding that they in fact are not. This is because the AutoInstaller doesn't pay any attention to requirements whatsoever, and we merely rely on the distribution later importing another package we know of (and then installing it then) or via implicit_deps.
Attachments
Sam Sneddon [:gsnedders]
Comment 1 2023-09-22 09:01:37 PDT
This seems to be happening within: EntryPoint.parse('setuptools_scm = setuptools_scm.integration:infer_version') Likely a regression from bug 261893?
Sam Sneddon [:gsnedders]
Comment 2 2023-09-22 09:02:22 PDT
(Or rather, this specific instance of the bug is caused by that — the underlying problem of not installing requirements has existed as long as the autoinstaller.)
Radar WebKit Bug Importer
Comment 3 2023-09-29 07:52:14 PDT
Sam Sneddon [:gsnedders]
Comment 4 2025-01-09 14:00:22 PST
(In reply to Sam Sneddon [:gsnedders] from comment #2) > (Or rather, this specific instance of the bug is caused by that — the > underlying problem of not installing requirements has existed as long as the > autoinstaller.) This specific instance was solved by https://bugs.webkit.org/show_bug.cgi?id=262184. See also: bug 265809, bug 262182, and bug 262154 for other cases of this. pip guarantees that all dependencies are installed before their dependents, and we should probably guarantee this too. Most of the time this isn't a concern because we end up soon installing them when they are imported from the newly installed installation package, but because there are times where libraries check they are actually installed.
Note You need to log in before you can comment on or make changes to this bug.