今回は、eclipseでpython3系を使ったwebシステムの構築の方法について書きます。
eclipseでJavaを使ったwebサイトを作っていたのですが、人工知能やらディープラーニングやらでpythonを使う必要があり、そのために色々試行錯誤をしました。
自分への備忘録という意味でもここに書いておこうと思います。
eclipseはダウンロード済みという前提で話を進めます。
スポンサーリンク
Contents
Pythonのダウンロード
まず、Pythonをダウンロードします。
こちらのサイトからダウンロードできます。(少し下にスクロールしたところにあります)
この投稿時点(2018年9月)現在では最新バージョンはPython 3.7.0ですね。
python-3.7.0.exeをダウンロードしたら実行してインストールしましょう。
eclipseへPythonプラグイン(PyDev)のインストール
続いて、eclipseでPythonを使うために、PyDevというプラグインをインストールします。
1、Eclipseの「ヘルプ」→「新しいソフトのインストール」を選択
2、「http://pydev.org/updates」を入れて、PyDevを選択します。
3、そのまま進んでインストールを完了させます。(プロキシの関係でインストールできない環境の場合は、ダウンロードしたPyDevをeclipseのpluginとfeatureに直接入れてもできます)
スポンサーリンク
eclipseにPythonのパスを指定
1、eclipseの「ウインドウ」→「設定」を押します。
2、左側のメニューから「PyDev」を展開し、「インタープリタ」→「Pythonインタープリタ」を押します。
3、「新規」から先ほどインストールしたPythonを指定します。(WindowsのデフォルトならProgram Filesとかに入ってる)
4、適用に時間がかかるのでしばらく待ちます。
ちゃんと動くかの確認
5、「ファイル」→「新規」→「PyDevプロジェクト」からPython様のプロジェクトを作ります。(名前はTestProjectとでもしておきます)
6、先ほど作ったプロジェクトで、右クリックし、「新規」→「ファイル」を指定し、ファイル名を「test.py」でファイルを作ります。
7、test.pyの中に「print("Hello World")」と入れ、実行をします。(test.pyを右クリックし、「実行」→「Pythonで実行」)
8、コンソールに「Hello World」と出力されれば成功です。
Flaskのインストール
次に、Python用のWeb用フレームワークであるFlaskを入れます。
1、eclipseで、「ウインドウ」→「設定」を押します。
2、「PyDev」→「インタープリタ」→「Python インタープリタ」を押します。
3、今度は下側のパッケージタグを選択し、「install/Uninstall with pip」を押します。
4、「install flask」と入力し、実行を押します。
スポンサーリンク
Flaskを使ってサーバーを立ち上げる
先ほど作ったPyDevプロジェクトに、index.pyを作ります。
####
## index.py
####
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
name = "This is the route page"
return name
if __name__ == "__main__":
app.run()
これを、Pythonで実行から実行をします。
すると、コンソールに
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
と表示されます。
ブラウザから、「http://127.0.0.1:5000/」を開き「This is the route page」と表示されるのが確認できます。
htmlを簡単に書く
flaskにはjinja2というhtml記述用のテンプレートが入っています。
こちらも紹介しておきます。
先ほどのPythonプロジェクトに、「templates」というフォルダを作ります。
TestProject
- index.py
- templates
- layout.html
- hello-world.html
こんな感じで、htmlファイルも作ります。
中身は以下のような感じです。
####
## layout.html
####
<!doctype html>
<html>
<head>
<title>{{ title }}</title>
<body>
{% block content %}
{% endblock %}
</body>
</head>
####
## hello-world.html
####
{% extends "layout.html" %}
{% block content %}
Hello World!
値も「{{name}}」渡せます。
{% endblock %}
続いて、先ほど書いたindex.pyを以下のように編集します。
#####
## index.py
#####
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
name = "This is the route page"
return name
@app.route('/hello-world')
def hello_world():
name = "hogehoge"
return render_template('hello-world.html', title='Hello World!!', name=name)
if __name__ == "__main__":
app.run()
これで、先ほどと同じようにindex.pyを実行し、ブラウザで「http://127.0.0.1:5000/hello-world」を開けば、ページが表示されます。
スポンサーリンク
まとめ
今回は、eclipseでpython3を使えるようにし、簡単なwebページを表示できるようにしました。
pythonのwebフレームワークは他にも色々ありますが、このやり方でやるのが一番手軽そうです。
Jythonなども試しましたが、私の調査能力が足りないのか、Python2系しかサポートされておらず、3系には入れられなかったので断念しました。
この方法なら他のJava系サーバとの同居の具合を気にすることなく、URLから指定してページに飛ぶことができます。
また、面白そうなものがあれば書いていきたいと思います。
スポンサーリンク