h2oai / sparkling-water

Sparkling Water provides H2O functionality inside Spark cluster
https://docs.h2o.ai/sparkling-water/3.3/latest-stable/doc/index.html
Apache License 2.0
954 stars 362 forks source link

Can't install pysparkling after updating setuptools >= 69.0.0 #5705

Closed ajayrgb closed 3 months ago

ajayrgb commented 6 months ago

setuptools now enforces PEP 440 complaint version numbers:

Configuring project version and egginfo.tag* in such a way that results in invalid version strings (according to PEP 440) is no longer permitted. (#4066)

This causes pysparkling to fail to install.

Steps to reproduce

docker run --rm python:3.9 bash -c "pip install setuptools==69.0.2; pip install h2o-pysparkling-3.4"

Error

  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-hyb7sdsg/h2o-pysparkling-3-4_6c75896111544cff9585271e3640d900/setup.py", line 13, in <module>
          setup(
        File "/opt/conda/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/opt/conda/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup
          _setup_distribution = dist = klass(attrs)
        File "/opt/conda/lib/python3.9/site-packages/setuptools/dist.py", line 314, in __init__
          self.metadata.version = self._normalize_version(self.metadata.version)
        File "/opt/conda/lib/python3.9/site-packages/setuptools/dist.py", line 350, in _normalize_version
          normalized = str(Version(version))
        File "/opt/conda/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py", line 198, in __init__
          raise InvalidVersion(f"Invalid version: '{version}'")
      setuptools.extern.packaging.version.InvalidVersion: Invalid version: '3.44.0.2_1'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.
JeroenSchmidt commented 5 months ago

This might be related https://github.com/h2oai/sparkling-water/issues/5695

krasinski commented 3 months ago

@ajayrgb @JeroenSchmidt 3.46.0.1-1 should fix that problem