web-dev-qa-db-ja.com

ImportError:名前「PackageFinder」をインポートできません

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'

助けてください。ありがとうございました。

6
Hassan Daoud

これは通常、pipを再インストールしようとして、ディストリビューションの事前にパッケージ化されたバージョンが以前にインストールされたバージョンと一致しない場合に発生します(例:19.0.3 (packaged) vs 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」ディレクトリの場所です。

3
Nils Fenner

どのようにしてこの問題が発生したのかはわかりませんが、以前の提案とコメントを組み合わせるとうまくいきました。

  1. サイトパッケージからPIPフォルダーを削除します(私はC:\Users\[username]\Anaconda3\Lib\site-packagesにあります)
  2. conda install pip --force-reinstallを使用してcondaで強制的に再インストールします

これが同じ状況の他の人を助けることを願っています。

0
Tobias P. G.

さて、私はqueソリューションを見つけ、それが私の問題を修正します https://github.com/pypa/pip/issues/7620#issuecomment-576655739

Pipを再び機能させるための回避策は、 get-pip.py スクリプトを取得して実行することです:python get-pip.py pip == 19.3.1これは元に戻ります以前のバージョンにピップ

0
Hassan Daoud