Help us understand the problem. What is going on with this article?

Raspberry Pi3にPython3, Bottleの環境を構築して遊んでみる

More than 1 year has passed since last update.

環境

Python 3.6.4
Raspberry Pi3 ModelB
Raspbian Stretch (2017-11-29)

ラズパイのセットアップ

1, microSDの初期化
2, Raspbianイメージのダウンロード
3, MicroSDにRaspbianのイメージを書き込む
4, OSの立ち上げ
5, 設定
6, SSH接続

セットアップに関しては、こちらのRaspberry Pi3 ModelB初期セットアップSSHまで(Mac)にまとめておいたので、ご覧になってください。

Python3のインストール

Raspbianにデフォルトで入っているPythonは2系であるため、pyenvを用いてPythonの3系をインストールし直します。以下は、ラズパイ上もしくはSSH接続しているPC上から行います。

・ pyenvのインストール

pythonのパッケージ管理をするためにpyenvをインストールします。

ターミナル
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv

起動した時に読み込むようにpathを通します。
以下を.bash_profileに追記します。

.bash_profile
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

追記したら.bash_profileを再度読み込み直しておいてください。

・ python3のインストール

インストールしたpyenvを用いてpython3をインストールします。
しばらく時間がかかります。
インストールが完了したら、systemからインストールした3.6.4に切り替えます。

ターミナル
$ pyenv install 3.6.4
...
...
$ pyenv global 3.6.4 #切り替え
$ pyenv rehash       #更新
$ pyenv versions     #確認
system
* 3.6.4 (set by /home/pi/.pyenv/version)

[補足]

次のような警告が出ることがあるので、

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

その時は、以下のコマンドを打ち込んでみてください。

ターミナル
$ apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev

bottoleのインストール

・インストール

ターミナル
$ pip install bottle

ファイルの作成

任意のディレクトリで、次のようなファイルを作成します。

hello.py
# -*- coding:utf-8 -*-

from bottle import route, run


@route('/')
def hello():
    return "Hello World!"


run(host='ラズパイのIPアドレス', port=8080, debug=True)

ラズパイのIPアドレスがわからない場合は、こちらの記事に記述しておいたので、こちらを確認しておいてください。

・ 起動

ラズパイ上で、サーバーを起動します。

ターミナル
$ python hello.py

アクセス

ラズパイ上で動いているサーバーに、PCからアクセスしてみます。
ブラウザのURLに、http://ラズパイのIPアドレス:8080を入力すると、hello worldが返ってくるはずです。スクリーンショット 2018-11-13 2.36.40.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした