1. ホーム
  2. python

[解決済み] pipのアップグレード後のエラー:名前 'main' をインポートできません。

2022-03-20 15:37:16

質問

pipを使用してパッケージをインストールしようとすると、いつもこのようなインポートエラーが発生します。

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'


guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

先ほどまで正常に動作していたのに、なぜこのようなエラーが発生するのかわかりません。 このエラーについて検索してみましたが、修正する方法が見つかりません。

さらに詳細が必要であれば、私の質問を更新しますので、教えてください。

どのように解決するのですか?

システムのpipを誤ってアップグレードしてしまったのでしょう。 sudo pip install pip --upgrade )

pip 10.xは、その内部がどこに位置するかを調整します。 そのため pip3 コマンドは、パッケージメンテナ (おそらくここでは debian ベース?) が提供するもので、pip が管理するファイルではありません。

これについては、以下のサイトで詳しく説明されています。 pipのイシュー・トラッカー

あなたはおそらく ない システムのpipをアップグレードし、代わりにvirtualenvを使用します。

を回復するために pip3 のバイナリが必要です。 sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall .

サポート対象外の領域(システムパッケージマネージャーの外でシステムパッケージをアップグレードすること)を続けたい場合は、おそらく次のようにします。 python3 -m pip ... の代わりに pip3 .