Python3環境で `pip install` したコマンドラインツールが動作しない場合の対処
はじめに
先日投稿した以下のエントリにて、 「自分のMacBookPro環境をPython2からPython3環境にバージョンアップしたら正常に動作しない」 という問題が発生していたが、解消方法がわかったのでまとめてみました。
なんとか問題解決まで至りましたが、 Pythonに詳しいエンジニアならすぐにわかることなのでしょう 。Python素人がハマった内容を共有します。
検証環境
調査開始
Pythonのバージョンを確認する
まず僕のMac環境のPythonのバージョンを確認します。
エラーの内容を確認する
先日もお話したとおり、 bitbucket-cli
が python2系 環境では正常に動作していましたが、 python3系 環境では正しく動いていません。
bb
コマンドのスクリプトを確認する
ふと bb
コマンドは一体どんなスクリプトなのだろうを思いコードを覗いてみました。
すると、 Shellbang(シェバング) 部分に以下のような記述がありました。
つまり、python3でこのスクリプトを動かしなさい、という設定が入っていたわけですね。
shellbangを変更したらどうなるか試してみる
試しにスクリプトを書き換えてみました。
※ごちゃごちゃ書いていますが、シェバング部分だけを python2
を利用するように変更しました。
その後 bb
コマンドを実行してみます。
正しく動作しました。
Python2系 でコマンドがインストールされていればうまく動作するだろうと推測しました。
修復作業
- Python3系 の
pip
コマンドが使われてしまったことが原因では? - Python2系 の
pip
コマンドを使ったら問題が解消するのでは?
上記の推測をもとに環境の修復を実施。
動作確認
無事復旧しました!
ひとこと
Python3系 環境で pip install
したツールが正常に動作しない場合は、一度 pip uninstall
してから pip2 install
することで解消できるかもしれません。
ぜひお試しください。
ディスカッション
コメント一覧
まだ、コメントがありません