Read-the-Docs-Build schlägt fehl mit "Name 'PackageFinder' kann nicht aus 'pip._internal.index' importiert werden"


25

Die Erstellung von Sphinx-Dokumenten auf Read-the-Docs schlägt mit dem folgenden Fehler fehl (vollständiges Protokoll unten):

ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/index/__init__.py)

Habe ich etwas falsch gemacht oder ist dies ein Fehler beim Lesen der Dokumente?

Ein lokaler Build von Sphinx-Dokumenten läuft einwandfrei.

Vollständiges Fehlerprotokoll beim Lesen der Dokumente:

Read the Docs build information
Build id: 10299638
Project: cascade-python
Version: latest
Commit: a7d50bf781bd8076b10dd7024db4ccb628016c27
Date: 2020-01-21T17:03:12.876711Z
State: finished
Success: False


[rtd-command-info] start-time: 2020-01-21T17:03:13.203354Z, end-time: 2020-01-21T17:03:13.215400Z, duration: 0, exit-code: 0
git remote set-url origin https://github.com/brunorijsman/cascade-python.git


[rtd-command-info] start-time: 2020-01-21T17:03:13.276220Z, end-time: 2020-01-21T17:03:13.630658Z, duration: 0, exit-code: 0
git fetch origin --force --tags --prune --prune-tags --depth 50
From https://github.com/brunorijsman/cascade-python
   2a28505..a7d50bf  master     -> origin/master

[rtd-command-info] start-time: 2020-01-21T17:03:13.824496Z, end-time: 2020-01-21T17:03:13.876904Z, duration: 0, exit-code: 0
git checkout --force origin/master
Previous HEAD position was 2a28505 Fix lint
HEAD is now at a7d50bf Trigger docs build

[rtd-command-info] start-time: 2020-01-21T17:03:13.941290Z, end-time: 2020-01-21T17:03:13.951085Z, duration: 0, exit-code: 0
git clean -d -f -f


[rtd-command-info] start-time: 2020-01-21T17:03:16.657644Z, end-time: 2020-01-21T17:03:22.489740Z, duration: 5, exit-code: 0
python3.7 -mvirtualenv --no-site-packages --no-download /home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest
Using base prefix '/home/docs/.pyenv/versions/3.7.3'
New python executable in /home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/bin/python3.7
Not overwriting existing python script /home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/bin/python (you must use /home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/bin/python3.7)
Installing setuptools, pip, wheel...
done.

[rtd-command-info] start-time: 2020-01-21T17:03:22.562608Z, end-time: 2020-01-21T17:03:23.258281Z, duration: 0, exit-code: 1
/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/bin/python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/cascade-python/.cache/pip pip
Traceback (most recent call last):
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/__main__.py", line 16, in <module>
    from pip._internal import main as _main  # isort:skip # noqa
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 12, in <module>
    from pip._internal.commands import (
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 6, in <module>
    from pip._internal.commands.completion import CompletionCommand
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/commands/completion.py", line 6, in <module>
    from pip._internal.cli.base_command import Command
  File "/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 25, in <module>
    from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/home/docs/checkouts/readthedocs.org/user_builds/cascade-python/envs/latest/lib/python3.7/site-packages/pip/_internal/index/__init__.py)

Sie sind die zweite Person am letzten Tag, die denselben Importfehler hat . Ich schlage vor, ein Problem bei RTD einzureichen und zu erwähnen, dass pip 20.0.0 gerade veröffentlicht wurde, unmittelbar gefolgt von einem Hotfix 20.0.1 , und dies könnte damit zusammenhängen. Ich würde auch ein Problem mit pip einreichen.
Steve Piercy

@StevePiercy Hat ein Problem im RTD-Github-Repo protokolliert.
Bruno Rijsman

Antworten:


27

Das Problem und das Update werden in Read-the-Docs-Problem Nr. 6554 ( https://github.com/readthedocs/readthedocs.org/issues/6554 ) beschrieben:

Derzeit schlagen alle Builds fehl, da das automatische Upgrade (seit # 4823) auf Pip 20.0 fehlerhaft war (siehe pypa / pip # 7620). Es gibt jetzt eine Version 20.0.1, die das Problem für andere behoben zu haben scheint ... aber wie kann ich meine Readthedocs zwingen, auch auf die .1-Version zu aktualisieren?

Das Update besteht darin, die Build-Umgebung wie folgt zu löschen (dies wird von https://docs.readthedocs.io/en/stable/guides/wipe-environment.html übernommen ):

  • Melden Sie sich bei read-the-docs an
  • Gehen Sie zu Versionen
  • Klicken Sie rechts auf der Seite auf die Schaltfläche Bearbeiten der Version, die Sie löschen möchten
  • Gehen Sie zum Ende der Seite und klicken Sie auf den Löschlink neben der Schaltfläche "Speichern"
  • Jetzt können Sie die Version mit einer neuen Build-Umgebung neu erstellen!

Dieser Fix hat bei mir funktioniert (aber ab dem 26. Januar 2020 müssen Sie die Umgebung für jeden Build löschen - siehe Kommentar von Grimmy unten).


2
Im Moment funktioniert das nur für einen einzelnen Build. Sie stellen nächste Woche einen Fix bereit. Wenn Ihr Build fehlschlägt, löschen Sie bis dahin einfach die Umgebung
Grimmy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.