0.初めに
私はエンジニアではないただのドシロウトです。最近Pythonのお勉強を始めました。
でもわたしのパソコン(Win10,Atom Z8350,4GB,64GB)ではショボイのでローカルでは常にリソースを気にしながらのお勉強になります。
そこで無料で使えるオンライン統合環境(IDE)というものがあるのを知り探し始めたのがそもそものきっかけです。
クラウド統合開発環境ではCloud9というサイトが超有名でネット上でも無数に記事があります。しかしCloud9はAmazonに買収されて以下のサイトになってしまいました。
AWS Cloud9
https://aws.amazon.com/jp/cloud9/
無料でも使える可能性はありますがちょっと微妙な感じだったので別のIDEをさがしました。
1.Codeanywhereを見つけた
少しググると以下サイトを見つけました。
Codeanywhere
https://codeanywhere.com/
まぁ「Free $0 Per user/forever」とうたってますがいつまで続くのかわかりません。2008年サービス開始らしく、少なくとも今は無料です。
以下の記事の中にも紹介が少しだけありました。
プログラミングエディタもクラウドの時代へ、クラウド型IDE 3選
https://blog.hitorifest.com/technology/online-ide/
まず初期登録が必要ですがGithub認証で行けました。python3のコンテナが選べたのでそれを選択すればすぐエディタ画面が表示されました
参考:Quick Tutorial(PHPの場合ですが…)
http://docs.codeanywhere.com/quicktutorial.html
エディタ画面はこんな感じです。
画面操作の理解に少しかかりましたがタブを選べばターミナルもちゃんとありました。
ターミナル画面はこんな感じです。
そこで「python -V」を入力すると2.7.4と表示されます。python3にしたのに…と悩みましたが「python3 -V」にしたら3.4.3と表示されました。
2.とりあえずインストール
私はPythonの簡単WEB環境Flaskしかつかった事がありません。早速Flaskを入れようと「pip3 intall flask」を入れると以下のエラーになりました。
error: [Errno 13] Permission denied
少しググると以下のの記事を発見。
[Python]pip install エラー(error: [Errno 13] Permission denied)
https://ponvire.com/2017/11/17/pythonpip-install%E3%82%A8%E3%83%A9%E3%83%BC%EF%BC%88error-errno-13-permission-denied%EF%BC%89/
「sudo pip3 install flask」でいけました。Jinja2はすでに導入されてました。
3.プログラムを試す
とりあえず以下のapp.pyを作ってルート直下に作成。
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello'
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0', port=3000)
https:で繋ぐ場合はIP:0.0.0.0&ポート3000でこのURLを使うという説明もタブの中にあったのでその通りやるとあっさりHelloが表示できました。
説明の画面はこんな感じです。
4.もうちょっと試す
続いて以前ローカルで作った英単語辞典のプログラムを移植してみました。ソースは以下です。
英単語辞典 Python+Flask+Jinja2版(ローカル版)
https://gist.github.com/basictomonokai/e7bdce6756e294be38aa97038e6abfb4
やった事は以下だけです。
- static,templatesのディレクトリ作成
- ルート直下にpythonプログラム配置
- pythonプログラム中のポート番号修正
- templatesにHTMLファイル配置
- HTMLファイル中のfetchのURLを変更
- ルート直下に辞書データをアップロード
辞書データは以下の物を使用しました。
無料 英和辞書データ ダウンロード
https://kujirahand.com/web-tools/EJDictFreeDL.php
実行したWEBの画面はこんな感じ。
たったこれだけで英単語辞典がWebサービスぽく動きました。Flaskで作ってたおかげでとても簡単にできました。
しかし、オンラインIDEすごい…これならしょぼいPCでもスペックは関係無しです。便利だなぁと思いました。
以 上