Julinium
Julinium

Reputation: 21

Archlinux: pip install pgadmin4 error: Invalid version

I'm trying to install pgadmin4 on Archlinux using pip inside a virtual environment pip install pgadmin4. Versions 8.11 and above (current is 8.14) fail and raise InvalidVersion exception:

ERROR: Exception:
...
pip._vendor.packaging.version.InvalidVersion: Invalid version: '6.12.4-arch1-1'

I tried downgrading setuptools to version 65, but in vain.

Version 8.10 is working fine pip install pgadmin4==8.10 (with setuptools-70.3.0 installed as a dependency) .

If I understood well, Python ecosystem recently made some version formatting guidelines mandatory and "refuses to work with" any software that do not comply with them. So Archlinux version format '6.12.4-arch1-1' should be changed to comply with those guidelines in order for pgadmin4 to be installed ... Please correct me if I'm wrong.

Any clues on how to install the latest version of pgadmin4?

PS: If this can help, here is my full stack trace:

ERROR: Exception:
Traceback (most recent call last):
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
    status = _inner_run()
             ^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
    return self.run(options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 379, in run
    requirement_set = resolver.resolve(
                      ^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria
    if not criterion.candidates:
           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__
    return bool(self._sequence)
           ^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 174, in __bool__
    return any(self)
           ^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 162, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
                       ^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 53, in _iter_built
    candidate = func()
                ^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link
    base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 304, in __init__
    super().__init__(
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__
    self.dist = self._prepare()
                ^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 248, in _prepare
    self._check_metadata_consistency(dist)
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 230, in _check_metadata_consistency
    list(dist.iter_dependencies(list(dist.iter_provided_extras())))
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py", line 220, in iter_dependencies
    elif any(req.marker.evaluate(context) for context in contexts):
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py", line 220, in <genexpr>
    elif any(req.marker.evaluate(context) for context in contexts):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py", line 325, in evaluate
    return _evaluate_markers(self._markers, current_environment)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py", line 211, in _evaluate_markers
    groups[-1].append(_evaluate_markers(marker, environment))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py", line 225, in _evaluate_markers
    groups[-1].append(_eval_op(lhs_value, op, rhs_value))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py", line 183, in _eval_op
    return spec.contains(lhs, prereleases=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py", line 552, in contains
    normalized_item = _coerce_version(item)
                      ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py", line 28, in _coerce_version
    version = Version(version)
              ^^^^^^^^^^^^^^^^
  File "/opt/pgadmin/.venv/lib/python3.12/site-packages/pip/_vendor/packaging/version.py", line 202, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
pip._vendor.packaging.version.InvalidVersion: Invalid version: '6.12.4-arch1-1'

Upvotes: 1

Views: 161

Answers (0)

Related Questions