前の関連記事: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.6pip1.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をインストールするのがいちばんよいと思いました。
0 件のコメント:
コメントを投稿