min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

RaspberryPi で Python 2.7 と 3 の両方を使えるようにする

 

Python好きだけど、バージョン「2.7」と「3」が混在してて困る。ネットの情報も、2.7のソースと思ってコピペして動かしてみたら実は3のソースだったとか。分かりにくい。

 

RaspberryPi(初代)は、標準で 2.7系 が入っている。

f:id:min117:20161204105146p:plain

3も動くようにしてみる。参考サイトはここ。

Raspberry PiでのPython 3.5環境構築 | MUDAなことをしよう。

手順そのまま進めていく。

$ sudo apt-get install build-essential libncursesw5-dev

f:id:min117:20161204105111p:plain

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

f:id:min117:20161204105450p:plain

git なんてコマンドはない、と怒られた。gitをインストールする。

$ sudo apt-get -y install git

f:id:min117:20161204105553p:plain

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

f:id:min117:20161204105748p:plain

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile

$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile

$ echo 'eval "$(pyenv init -)"' >> ~/.profile

$ source ~/.profile

f:id:min117:20161204105905p:plain

$ pyenv install 3.5.1

f:id:min117:20161204110138p:plain

pyenvってコマンドでPythonをインストールできるのか。普通に考えれば「apt-get  -y install python」な気がするけど、そうじゃないらしい。このへんがやっかいなところ。インストールには1時間以上かかった。

ーーー

Python3.5.1 のインストールが終わったので、冒頭サイトのとおり環境を切り替える。

f:id:min117:20161204140947p:plain

こりゃ便利だ。

f:id:min117:20161204141058p:plain

ーーー

これでPythonは3系が使われるようになったはず。Python製のbotを動かして試してみる。botの中身はこれ。

$ vim bot.py

冒頭に #!/usr/bin/python の記述あり。内部のPythonで3系が使われていれば、requests_oauthlib がエラーにならないはず。

f:id:min117:20161204165040p:plain

bot実行。

$ ./bot.py

f:id:min117:20161204165259p:plain

あれ?エラーになる。別の方法で実行してみよう。

oauthlib のインストール。

$ pip install requests requests_oauthlib

f:id:min117:20170618130116p:plain

$ sh ./bot.py

f:id:min117:20161204165453p:plain

これもだめだ。

 

python と明示して実行してみる。

$ python bot.py

f:id:min117:20161204165857p:plain

これで成功。bashがどのpythonを呼んでいるか調べないと。

f:id:min117:20161204170430p:plain

pyenvのPATHになってる。よくわからん。これがあるからpythonは大変だ。