出張先でのPythonの環境整備。pipが通らない。^^;

RaspberryPiを積んで出張に来たのはいいけれど。

そうなんですよ。しっかりセットアップしてからもってくりゃいいものを、

まぁこんなのなんとかなるだろ^^V

なんて、タカをくくってたわけで。
そしたらネットワークでLANを構築できないわ、、
なんとかごまかしたと思ったら、
今度はPIPが通らない。
うぅーーん。

いわゆるオフラインインストールっぽいことできないの?

と調べたら、、まぁできるっちゃできるようなのでやってみました。

しかし、OSの問題が。

実際にどうやるかというと、
pip download
とかやって、download。
そして今度はこれをinstallするマシンにCOPYしてから、それを指定してpip
という流れなわけです。

しかし、、、

Windowsでpip downloadして、RaspberryPiでpipしたところ、

大丈夫なものとアカンものがある

というのに遭遇してしまって。
うぅーーん。しかたないな。
でも、Linuxならいけるんちゃう?

ということで、VPSで借りてるサーバに入ってpip download、
そのフォルダごとRaspberryPiにCOPYして、pip。

これでなんとかうまくいきました。

でも、これはLinuxのVPSがあったからできたわけで、、
ここで微妙なversionとか、debian系とCentOS系の違いとかが出ちゃったらアウトでしたが。。
今回使ったものを、とりあえず大丈夫っぽいです。

実際にやったこと

実際にやったことを書いてみますね。

Version確認とか。
まずCentOS側で。

[xxxxxxx]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

[xxxxxxxx]# python3 --version
Python 3.6.8

[xxxxxxxx]# pip3 --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

RaspberryPi側で。

root@raspberrypi:/# cat /etc/debian_version
10.3

root@raspberrypi:/# python3 --version
Python 3.7.3

root@raspberrypi:/# pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

大丈夫か!?こんなに違う環境で!っておもったけど、とりあえず、、
CentOS側で。

pip3 download -d /etc/tmpQ websocket-server
pip3 download -d /etc/tmpQ websocket-client
pip3 download -d /etc/tmpQ pyserial
pip3 download -d /etc/tmpQ pyyaml
pip3 download -d /etc/tmpQ esptool

そしたらこんだけファイルが。

そう、これをWindowsでやったら、
【PyYAML-5.3-cp37-cp37m-win_amd64.whl】
ていう、見るからに妖しいファイル名がdownloadされちゃったわけです。

こんどはこれをRaspberryPiの方に移して、、

pip3 install --no-index --find-links=/etc/tmpQ pyyaml
pip3 install --no-index --find-links=/etc/tmpQ pyserial
pip3 install --no-index --find-links=/etc/tmpQ esptool
pip3 install --no-index --find-links=/etc/tmpQ websocket-server
pip3 install --no-index --find-links=/etc/tmpQ websocket-client

っとまぁ、こういう感じでした。
ちなみに、M5StackにSerialで表示させるやつやってみたら、

あ、、そうだった。
socket.gethostbyname(socket.gethostname())
やっても、【127.0.1.1】しか返してくれへんやぁーーん!!

気分は、、こんな感じで。

仕方ない。この場合はいかがわしい方法でやるいしかないか。。。^^;

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です