Ошибка импорта: невозможно импортировать имя «PackageFinder» - PullRequest
2 голосов
/ 24 января 2020

после обновления всего в conda, pip не может ничего установить

conda update -n base conda
conda update --all

при установке или обновлении чего-либо, эта ошибка показывает

   $ pip install --upgrade HDF5
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\Scripts\pip-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_internal\main.py", line 45, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_internal\commands\__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "C:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_internal\commands\install.py", line 23, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_internal\cli\req_command.py", line 17, in <module>
    from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder'

любую помощь, пожалуйста. спасибо.

Ответы [ 3 ]

1 голос
/ 27 января 2020

Кажется, это работает. https://pip.pypa.io/en/stable/installing/ Обновление пипса до версии 20.0.2

1 голос
/ 23 февраля 2020

Обычно это происходит, если вы пытаетесь переустановить pip, и предварительно упакованная версия дистрибутива не соответствует ранее установленной версии (например, 19.0.3 (packaged) против 20.0.2 (installed) на момент написания).

Удаление /path/to/site-packages/pip* каталоги - это простое (но безопасное) решение.

Вот небольшой bash скрипт для установленной версии системы (поэтому требуется sudo):

#!/bin/bash
set -e

 # Set PY_MAJ and PY_MIN with your own python "major.minor" version
 # Example for python 3.8
 # PY_MAJ='3'
 # PY_MIN='8'
 cd /usr/lib/python${PY_MAJ}.${PY_MIN}/site-packages/ \
 && rm -rf pip/ \
 && rm -rf pip-*/ \
 ; cd -

Примечание для виртуального окружение: В основном то же самое относится и к venv. Разница лишь в расположении каталога "site-packages".

0 голосов
/ 24 января 2020

хорошо, я нахожу решение проблемы, и это решает мою проблему. https://github.com/pypa/pip/issues/7620#issuecomment -576655739

Обходной путь, чтобы пип снова заработал, получает get-pip.py скрипт и запуск: python get-pip.py pip == 19.3.1 Это вернет pip к предыдущей версии

...