linuxBean14.04(43)動かないpipを再インストール

ラベル: ,

前の関連記事:linuxBean14.04(42)pycallgraphでPythonのコールグラフ:その3


linuxBean14.04(39)Pythonのパッケージ管理をPyCharmで行うでPyCharmの「Install packaging tools」を使ってpip1.5.6をインストールしたときは問題ありませんでした。ところがPyCharmでpip7.0.3にアップグレードしたあとTerminalからpipが起動できなくなってしまいました。

PyCharmでpipをアップグレードしたあとpipがTerminalから起動不能になった


PyCharmの「Install packaging tools」を使ってpipをインストールしあとTerminalでpipを実行してみます。
pq@pq-VirtualBox:~$ pip -V
pip 1.5.6 from /usr/local/lib/python3.4/dist-packages/pip-1.5.6-py3.4.egg (python 3.4)
いちばん最後にインストールしたPythonのバージョンのpipがpipコマンドに割り当てられています。
(2016.5.22追記。これらの切り替え方法についてはlinuxBean14.04(115)pythonコマンドをpipコマンドとともに切り替える参照。)
pq@pq-VirtualBox:~$ pip3.4 -V
pip 1.5.6 from /usr/local/lib/python3.4/dist-packages/pip-1.5.6-py3.4.egg (python 3.4)
とくにPython3.4のpipを指定する場合はpip3.4でPython3.4のpipが起動します。

Python3.4よりも前にPython3.3のpipもPyCharmの「Install packaging tools」でインストールしてあります。
pq@pq-VirtualBox:~$ pip3.3 -V
pip 1.5.6 from /usr/local/lib/python3.3/dist-packages/pip-1.5.6-py3.3.egg (python 3.3)
pip3.3でPython3.3のpipが起動します。
pq@pq-VirtualBox:~$ pip2.7 -V
pip2.7: コマンドが見つかりません
Python2.7にはpipをインストールしていないのでpip2.7には反応しません。

Python3.3のpipをPyCharmでpip7.0.3にアップグレードします。


アップブレードはうまくいきました。

PyCharmからPythonパッケージのインストールも問題ありません。
pq@pq-VirtualBox:~$ pip3.3 -V
Traceback (most recent call last):
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 449, in _build_master
    
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 745, in require
    return (
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 644, in resolve
    distributions, errors = working_set.find_plugins(
pkg_resources.VersionConflict: (pip 7.0.3 (/usr/local/lib/python3.3/dist-packages), Requirement.parse('pip==1.5.6'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pip3.3", line 5, in <module>
    from pkg_resources import load_entry_point
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 2872, in <module>
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 451, in _build_master
    def _build_from_requirements(cls, req_spec):
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 464, in _build_from_requirements
    for entry in sys.path:
  File "/usr/local/lib/python3.3/dist-packages/setuptools-5.7-py3.3.egg/pkg_resources.py", line 639, in resolve
    fallback=True):
pkg_resources.DistributionNotFound: pip==1.5.6
pip1.5.6が必要なのにpip7.0.3が入っている、みたいなエラーがでてきてpip3.3が起動しません。

Python3.4のpipも同様にPyCharmでアップグレードしたあと、pip3.4 -V、pip -Vとしてみるとpip3.3 -Vと同様に起動できません。

このままでもPyCharmを使えばPythonパッケージの扱いは問題ないのですが、Terminalから実行できないのはどうも気持ちが悪いので修正することにしました。

pipのアンイストール:/usr/local/lib/pythonX.X/dist-packages/pip-X.X.X.dist-infoを削除でいいもよう


python - Pycharm broke pip - Ask Ubuntu

これを読んですべてのpipをアンイストールしてからインストールしなおすことにしました。
sudo -H pip3.3 uninstall pip
これでpipのアンインストールができるようですのでやってみます。

ダメです。pip3.4もpipもすべてエラーが出て実行できません。

そりゃあ、pip3.3もpip3.4もpipも実行できないので当然のことです。

とりあえずアンインストールができるのかPython2.7でPyCharmの「Install packaging tools」でpipをインストールしました。
pq@pq-VirtualBox:~$ pip -V
pip 1.5.6 from /usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg (python 2.7)
pq@pq-VirtualBox:~$ pip2.7 -V
pip 1.5.6 from /usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg (python 2.7)
このpip2.7が動く状態でpip2.7をアンインストールします。
pq@pq-VirtualBox:~$ sudo -H pip2.7 uninstall pip
Uninstalling pip:
  /usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg
Proceed (y/n)? y
  Successfully uninstalled pip
アンインストールできましたがこれでは具体的になにをしたのかがよくわかりません。

よくわからないので、もう関係ありそうなファイルを手動で削除することにしました。

豆ボタン→アクセサリ→ファイルマネージャPCManFM(root)。

/usr/local/binにあるpip, pip2, pip2.7, pip3, pip3.3, pip3.4の7個のファイル

/usr/local/lib/python3.3/dist-packagesにあるpip, pip-7.0.3.dist-infoの2個のフォルダ

/usr/local/lib/python3.4/dist-packagesにあるpip, pip-7.0.3.dist-infoの2個のフォルダ

/usr/local/lib/python2.7/dist-packagesにあったはずのpip, pip-7.0.3.dist-infoの2個のフォルダはsudo -H pip2.7 uninstall pipでアンインストールされていました。

これら全部削除したあとpipを起動すると「bash: /usr/local/bin/pip: そのようなファイルやディレクトリはありません」と言われます。

PyCharmで確認すると「Install packaging tools」が表示されるのでpipはインストールされていないと認識されているようです。

結局アンインストールの目的は次にやるget-pip.pyでpipをインストールできることであるという視点でいろいろやった結果、pip-7.0.3.dist-infoフォルダの削除するだけでget-pip.pyの再インストールができるようになりました

get-pip.pyでpipをインストール


Installation — pip 7.0.3 documentationにあるget-pip.pyをダウンロードして各pythonで実行してpipをインストールします。

sudo -H python2.7 get-pip.py
sudo -H python3.3 get-pip.py
sudo -H python3.4 get-pip.py

これでTerminalから起動するpipのインストールができました。

参考にしたサイト


python - Pycharm broke pip - Ask Ubuntu
pip-7.0.3.dist-infoフォルダの削除だけでget-pip.pyで再インストールできるようになりました。

Installation — pip 7.0.3 documentation
このget-pip.pyでpipをインストールするのがいちばんよいと思いました。

次の関連記事:linuxBean14.04(44)Pythonモジュールのインポートエラーに悩まされる

PR

0 件のコメント:

コメントを投稿