Pip: New Resolver kann keine Distributionen installieren, die nur Vorabversionen haben

Erstellt am 18. Apr. 2020  ·  3Kommentare  ·  Quelle: pypa/pip

Umgebung

  • Pip-Version: Master, heute
  • Python-Version: 3
  • Betriebssystem: Linux

Beschreibung

Ich möchte eine Distribution installieren, die nur Vorabversionen enthält. Der Legacy-Resolver unterstützt dies. Der Neue nicht.

Hinweis: Die Verwendung von --pre scheint das Ergebnis nicht zu beeinflussen. Der Legacy-Resolver könnte solche Distributionen installieren, ohne --pre .

Erwartetes Verhalten

Die Installation sollte erfolgreich sein.

Wie zu reproduzieren

$ pip install --no-deps odoo13-addon-date-range --unstable-feature=resolver
ERROR: Exception:
Traceback (most recent call last):
  File "/home/me/pip/src/pip/_internal/cli/base_command.py", line 199, in _main
    status = self.run(options, args)
  File "/home/me/pip/src/pip/_internal/cli/req_command.py", line 185, in wrapper
    return func(self, options, args)
  File "/home/me/pip/src/pip/_internal/commands/install.py", line 333, in run
    reqs, check_supported_wheels=not options.target_dir
  File "/home/me/pip/src/pip/_internal/resolution/resolvelib/resolver.py", line 80, in resolve
    self._result = resolver.resolve(requirements)
  File "/home/me/pip/src/pip/_vendor/resolvelib/resolvers.py", line 413, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/home/me/pip/src/pip/_vendor/resolvelib/resolvers.py", line 310, in resolve
    failure_causes = self._attempt_to_pin_criterion(name, criterion)
  File "/home/me/pip/src/pip/_vendor/resolvelib/resolvers.py", line 240, in _attempt_to_pin_criterion
    raise InconsistentCandidate(candidate, criterion)
pip._vendor.resolvelib.resolvers.InconsistentCandidate: Provided candidate LinkCandidate('https://files.pythonhosted.org/packages/1f/0b/945335a37082b6b013cc1331f49e3f5b6a18cdd0b693475e6ca9e9a7df6e/odoo13_addon_date_range-13.0.1.0.1.dev8-py3-none-any.whl#sha256=3883bbe87db8d5db4364e8a42e86546e19e8e4f123d98c4e9454587dfa9401df (from https://pypi.org/simple/odoo13-addon-date-range/) (requires-python:>=3.5)') does not satisfy SpecifierRequirement('odoo13-addon-date-range')

Hinweis Ich habe --no-deps da eine Abhängigkeit nicht von pypi ist, dies hat jedoch keinen Einfluss auf das Ergebnis.

new resolver auto-locked bug

Alle 3 Kommentare

InconsistentCandidate wird erhöht, wenn eine Übereinstimmung von find_matches() für is_satisfied_by() nicht true is_satisfied_by() reparieren, um Vorabversionen zu akzeptieren.

Schöner Fang @sbidoul! ^> ^

Ich denke nicht, dass dies jetzt vor der Beta von Pip 20.1 behoben werden muss, aber ja, wir müssen dies irgendwann implementieren. :) :)

Es würde auch mit --pre fehlschlagen, wenn die ausgewählte Version eine Vorabversion ist. Nicht alle Vorabversionen schlagen jedoch fehl, nur wenn der Spezifizierer keine Vorabversion enthält. Ich glaube, ich habe eine Lösung.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen