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のアップグレードによって何が台無しになったのか、そしてどのようにそれを修正するのですか?
$python -m pip uninstall pip
これを使用すると、以前のpipバージョンが表示されます。
最近、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
ピップフリーズを実行すると、エラーは発生しなくなります。インストールされているパッケージを確認できました。
Sudo python3 -m pip install --force-reinstall pip
これにより、間違ったピップが選択される問題が修正されます。
どのように機能したかはわかりませんが、/ usr/bin/pipファイルを編集して問題の行7を変更しました。
from pip import main
に
from pip._internal import main
これで問題が解決しました。
Windows 10でUbuntuを使用しています。
別の回答で述べたように、これは/usr/local/bin/pip
および/usr/bin/pip
私のマシンで。