はじめまして。
Sparkと申します。
今回から自分が普段業務、趣味で利用したノウハウを備忘録として残して生きたいと思います。
本題:
業務にてparamikoをインストールしようとして詰まった
結果:
pip3のバージョンが古かったことが問題でした。
調べたこと、実行したこと
pythonのparamikoを使用して自動でファイルをSCPしたかったので、下記コマンドを実行
pip3 install paramiko
しかしながらエラーを吐かれてうまくインストールできない・・・
エラー内容
Command "python setup.py egg_info" failed with error code1 in -snip-
色々と調べたところ、pip3のバージョンが古いことが問題のようでした
参考: 本家 stackoverflow
https://stackoverflow.com/questions/35991403/pip-install-unroll-python-setup-py-egg-info-failed-with-error-code-1
スレッド内にあった下記コマンドを実行
pip install --upgrade setuptools
続けて別のコマンドを入力しようとしたところ下記エラーが発生
Traceback (most recent call last): File "/usr/bin/pip3", line 9 in <module> from pip import main ImportError: cannot import name 'main'
見慣れたような、見慣れないようなエラーでとりあえずまた調べてみる。
すると "/usr//bin/pip3" のソースコードをいじるとよいよといった下記の記事を参考にソースコードを変更してみる。
https://yasunaya.wordpress.com/2018/09/02/piperror/
変更前:
from pip import main
変更後:
from pip._internal import main
変更した後、paramikoのインストールコマンドを実行。
無事、インストールできました!
終わってみて:
今回はまっていた部分に関してですが、どうやら両方ともメジャーな問題?だったようで、知ってる人からしたら "いや常識ジャン?" といった反応されるかもしれませんが、なにぶん初心者にはなかなかしんどかった・・・
結果paramikoのインストールで2時間くらいかかってしまいました。
自分と同じような環境ではまっている人がどれくらいいるかわかりませんが、参考になればと思います。
また、今後とも自分用のメモレベルにはなるかと思いますが、生暖かい目で成長を見守っていただければと思います。