web-dev-qa-db-ja.com

失敗したpipアップグレードpythonインストール

python作成したばかりのアプリケーションを新しく作成したUbuntu 16.4仮想インスタンスにインストールしようとしています。以前にインストールした多数のpythonパッケージをインストールする必要があります。自分のPCにインストールしました。

このメッセージが表示されるまで、すべてが順調に進んでいました。

You are using pip version 8.1.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

さて、私は、これは十分に無害に見えると思います。

ただし、これを実行した後、次にpipを実行すると、次のようになります。

$ pip freeze
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

私は古いピップに戻すべきだと思ったので

$ Sudo apt install python-pip

その後

$ Sudo apt install python-pip
...
Setting up python-pip (8.1.1-2ubuntu0.4) ...

はい、pip 8.1.1に戻りました。しかし悲しいかな

$ pip freeze
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

それで問題は、pipのアップグレードによって何が台無しになったのか、そしてどのようにそれを修正するのですか?

5
Steve Cohen
 $python -m pip uninstall pip

これを使用すると、以前のpipバージョンが表示されます。

3
user314119

最近、Ubunutu 16.04で同じ問題に遭遇しました。

次の場合に注意してください。

/usr/bin/pip freeze

トレースバックエラーが発生します。私がどのピップを走らせたとき、私は以下を得ました:

/usr/local/bin/pip

私のシェルは/usr/bin/pip正しいものではありませんでした。 /usr/bin/pipと新しいものを古いものがある場所にシンボリックリンクしました:

ln -s /usr/local/bin/pip /usr/bin/pip

ピップフリーズを実行すると、エラーは発生しなくなります。インストールされているパッケージを確認できました。

2
Daten Shi Daten
Sudo python3 -m pip install --force-reinstall pip

これにより、間違ったピップが選択される問題が修正されます。

0
opman

どのように機能したかはわかりませんが、/ usr/bin/pipファイルを編集して問題の行7を変更しました。

from pip import main

from pip._internal import main

これで問題が解決しました。

Windows 10でUbuntuを使用しています。

別の回答で述べたように、これは/usr/local/bin/pipおよび/usr/bin/pip私のマシンで。

0
bdev TJ