PythonとFlaskで作ったウェブアプリをレンタルサーバーで公開しようとしましたが、エラーの対処が難しくpythonanywhere.comで公開することにしました。
エラーが出たのは、コアサーバーです。
V1プランですが、サポートに確認したところpipは、利用者に権限が無いと言われました。
また、Flaskもnotebookも使えないと言われてしまいました。
ネットでコアサーバーでPythonで作ったアプリを公開する記事をみかけましたが、挑戦される方は、注意が必要です。
Pythonでアプリを作る手順はたくさん公開されていますが、デブロイしたり、アプロを公開したりする手順の記事が少ないように思えたので書きました。
こちらの記事を参考にしました。
デブロイするファイルをまとめたZipファイルを解凍するときは、予めアプリのフォルダを作っておいてから解凍すると良いです。
下記のコマンドで、仮想環境に入ることができました。
. app/bin/activate
.の後にスペースが、必要でした。
~/.virtualenvs
のディレクトリの中で、起動しました。
実は、思うように仮想環境に入れなかったので、ディレクトリを移動していたのです。
仮想環境から抜けるときは、
deactivate
で終了できます。
pythonanywhere_com_wsgi.pyの書き方
私は、Pythonのプログラムをapp.pyとして、HTMLのページやプログラムの処理を行う形で作りました。
そのため下記のように入力すると、左側に黄色の三角のマークが付いてしまいます。
project_home = '/home/***/uma/'の部分で、umaの後ろに/を付けてください。
私は、この/が無いために、数時間悩みました。
# add your project directory to the sys.path
project_home = '/home/***/uma/'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
# import flask app but need to call it "application" for WSGI to work
from app import app as application # noqa
この注意マーク?が出ていても、ウェブサイトの公開ができました。
レスポンシブで、表示できます。
今回のプログラムの制作にあたり、下記のページの作者の方が作られた漢字の画数のファイルを使用しました。
この出会いに、感謝しています。
ありがとうございます。