บิวด์อ่าน-the-docs ล้มเหลวด้วย“ ไม่สามารถนำเข้าชื่อ 'PackageFinder' จาก 'pip._internal.index'”


25

การสร้างเอกสาร Sphinx ใน read-the-docs ล้มเหลวด้วยข้อผิดพลาดต่อไปนี้ (บันทึกที่สมบูรณ์ด้านล่าง):

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)

ฉันทำอะไรผิดหรือเป็นข้อบกพร่องในการอ่านเอกสาร

บิลด์สฟิงซ์ในเครื่องของท้องถิ่นทำงานได้ดี

บันทึกข้อผิดพลาดทั้งหมดในการอ่านเอกสาร

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)

คุณเป็นบุคคลที่สองในวันสุดท้ายที่พบข้อผิดพลาดในการนำเข้าเดียวกันนี้ ฉันขอแนะนำให้ยื่นปัญหากับ RTDโดยระบุว่า pip 20.0.0 เพิ่งเปิดตัวตามด้วยโปรแกรมแก้ไขด่วนทันที 20.0.1และอาจเกี่ยวข้องกัน ฉันยังจะยื่นปัญหากับ pip
Steve Piercy

@StevePiercy บันทึกปัญหาใน RTD github repo
Bruno Rijsman

คำตอบ:


27

ปัญหาและการแก้ไขได้อธิบายไว้ใน read-the-docs issue # 6554 ( https://github.com/readthedocs/readthedocs.org/issues/6554 ):

ขณะนี้บิลด์ทั้งหมดล้มเหลวเนื่องจากการอัปเกรดอัตโนมัติ (ตั้งแต่ # 4823) ไปเป็น pip 20.0 เป็น buggy (ดู pypa / pip # 7620) ตอนนี้มีรุ่น 20.0.1 ซึ่งดูเหมือนว่าจะแก้ไขปัญหาให้กับผู้อื่น ... แต่ฉันจะบังคับให้ readthedocs ของฉันอัพเกรดเป็นรุ่น. 1 ได้อย่างไร

การแก้ไขคือการล้างสภาพแวดล้อมการสร้างดังต่อไปนี้ (ซึ่งนำมาจากhttps://docs.readthedocs.io/en/stable/guides/wipe-environment.html ):

  • เข้าสู่ระบบเพื่ออ่านเอกสาร
  • ไปที่รุ่น
  • คลิกที่ปุ่มแก้ไขของเวอร์ชันที่คุณต้องการลบทางด้านขวาของหน้า
  • ไปที่ด้านล่างของหน้าและคลิกที่ลิงค์ลบถัดจากปุ่ม "บันทึก"
  • ตอนนี้คุณสามารถสร้างเวอร์ชันใหม่ด้วยสภาพแวดล้อมบิลด์ใหม่!

การแก้ไขนี้ใช้งานได้สำหรับฉัน (แต่ตั้งแต่วันที่ 26 ม.ค. 2020 คุณต้องล้างสภาพแวดล้อมสำหรับทุกบิลด์ - ดูความคิดเห็นจาก Grimmy ด้านล่าง)


2
ตอนนี้ใช้งานได้สำหรับบิลด์เดียวเท่านั้น พวกเขากำลังปรับใช้การแก้ไขในสัปดาห์หน้า หากงานสร้างของคุณล้มเหลวเพียงแค่ทำการเช็ดสภาพแวดล้อมจนกว่าจะถึงตอนนั้น
Grimmy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.