uap-python icon indicating copy to clipboard operation
uap-python copied to clipboard

setup.py install broke - because of yaml 6.0

Open risto42 opened this issue 3 years ago • 4 comments

setup_requires=["pyyaml ~= 5.4.0"] is no longer valid

risto42 avatar Aug 10 '22 17:08 risto42

Could you explain what issue you're observing in more details? e.g. commands, error messages, platform, what you're trying to do when that happens, etc...

PyYAML 6 was release almost a year ago, and even if you're running on a platform or version of Python which doesn't have binary wheels for 5.4, the pure python wheel works fine (it's just slower).

And it's only used for the compilation of the package, in order to provide a static _regexes.py file, the ua-parser wheel should be universal, so even compiling the yaml file should only be necessary for working on uap-python, or in the rare case where you want a custom(ized) regexes.yaml, at which point the setup_requires shouldn't matter.

masklinn avatar Aug 10 '22 19:08 masklinn

can't install via AUR on arch... pip is not an option.

risto42 avatar Aug 10 '22 19:08 risto42

builds fine with 6.0, but breaks because of the version restriction and no way to run pip...

/usr/lib/python3.10/site-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
  warnings.warn(
/usr/sbin/python: No module named pip
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/setuptools/installer.py", line 82, in fetch_build_egg
    subprocess.check_call(cmd)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/sbin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpuaofrb43', '--quiet', 'pyyaml~=5.4.0']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/makepkg/python-ua-parser/src/ua-parser-0.15.0/setup.py", line 197, in <module>
    setup(
  File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 86, in setup
    _install_setup_requires(attrs)
  File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 80, in _install_setup_requires
    dist.fetch_build_eggs(dist.setup_requires)
  File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line 861, in fetch_build_eggs
    resolved_dists = pkg_resources.working_set.resolve(
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 777, in resolve
    dist = best[req.key] = env.best_match(
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1062, in best_match
    return self.obtain(req, installer)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1074, in obtain
    return installer(requirement)
  File "/usr/lib/python3.10/site-packages/setuptools/dist.py", line 941, in fetch_build_egg
    return fetch_build_egg(self, req)
  File "/usr/lib/python3.10/site-packages/setuptools/installer.py", line 84, in fetch_build_egg
    raise DistutilsError(str(e)) from e
distutils.errors.DistutilsError: Command '['/usr/sbin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpuaofrb43', '--quiet', 'pyyaml~=5.4.0']' returned non-zero exit status 1.

risto42 avatar Aug 10 '22 20:08 risto42

Right, ok. I can probably just remove the bounds for install_requires (pending an eventual overhaul of the packaging), I'll need to find how to coerce tox into testing that situation but it ought be possible.

masklinn avatar Aug 13 '22 10:08 masklinn

@risto42 seeing as I don't know anything about arch, are you able to test a development version to see if that fixes the issue? I've relaxed the setup_requires again to take whatever is available, but I'd rather you confirmed it works before I cut a release.

masklinn avatar Aug 20 '22 15:08 masklinn

just tested the setup.py part of the patchset, builds/installs fine. +1 for release.

risto42 avatar Aug 20 '22 15:08 risto42