今回は、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から指定してページに飛ぶことができます。
また、面白そうなものがあれば書いていきたいと思います。
スポンサーリンク