python-pip:インポートエラー:デフォルト名を取得できません。

python-pip:インポートエラー:デフォルト名を取得できません。

私はDebian 9.5 Stretchバージョンを使用しています。 pipを使用するとインポートエラーが発生します。 pipを使用しようとすると、次のように表示されます。

ここに画像の説明を入力してください。

しかし、Pythonを使用できます。 ここに画像の説明を入力してください。

2.7と3.5の2つのバージョンのPythonがインストールされています。

pipの出力:/usr/bin/pip

apt-get pipを使用して再インストールしようとすると、最初は完全に機能しますが、次回は同じエラーが表示されます。

コンテンツ/usr/bin/

ここに画像の説明を入力してください。 ここに画像の説明を入力してください。

何が問題なのかわかりません。

ベストアンサー1

これは、同じプレフィックス()に2つの異なるパッケージマネージャ(dpkgまたはそのフロントエンド自体)を使用しているために発生する可能性があります。apt-get私は仮定するpip/usr

  • apt-get upgrade一部の依存関係は最近更新されましたが、インストールされている他の一部のファイルは単に不明またはpip更新されませんでした。dpkgapt-get
  • apt-get removeを使用して削除apt-getパッケージpipdpkg

どのパッケージマネージャでどのパッケージがインストールされているのかわからない場合は、システムの修正方法について具体的なアドバイスをすることはできず、一般的なアドバイスだけを提供できます。

複数の異なるパッケージマネージャを使用しないでください。ファイルシステムの特定の(サブ)ツリーには1つのパッケージマネージャしか使用できません。そうしないと、矛盾や衝突が発生します。 Debianの/usrツリーパッケージマネージャはと呼ばれdpkg、呼び出されません。誰もしなければならない一度触れる/usr

Pythonで作業しながら会うほとんどの人は、pipをプッシュしたいと思うかもしれません。もちろんこれは役に立ちませんsudo pip install。一部の配布パッケージにPython関連のコンテンツが含まれている理由があります。また見てくださいAskUbuntuに関する質問です。そしてStackOverflowへの答えです。


新しいpipをインストールして混乱を解決することができます

apt-get purge python-pip python3-pip
apt-get install python-pip python3-pip

ただし、干渉を引き起こす可能性のあるファイルがいくつか残っている可能性がありますdpkg。すべてのファイルがDebianパッケージに属していることをpip確認し、それ以外の場合はすべて削除することが信頼できる方法です。/usr/lib/python*

また、ただ、、、、...などのフロントエンドツールを使用してdpkg修正します。パッケージとして使用できないシステム全体をインストールする必要がある場合は、パッケージを作成してを使用してインストールするか、以下にインストールします。apt-getaptitudesynaptic/usr.debdpkg/usr/local

おすすめ記事