LoginSignup
0
1

More than 5 years have passed since last update.

FlaskをGAEへ‼

Posted at

今日は、いよいよFlask環境をGAEに公開し、Deeplearning用にローカルでテスト用に用意したモデルをオンラインに公開だーーーー‼

と、勢い込んだところで、

最初の挫折!!

Anacondaをpkgからインストールしたわけだが、pyenvを使っていなかった為、GAEをローカルで動かそうとした際、defaultのpythonが3系なので、GAEのローカル環境が構築できない。と言う事実が発覚。
GoogleAppEngineでは、Python2.7で環境を作らなければならない、、、泣ける

なので、pyenvを使った環境で、1から環境構築し直し。

pyenvは大事。

今度は失敗しないように
https://qiita.com/togoturns/items/b2ae361a669933c823f5
こちらのサイトを参考にさせていただき、python2, python3を並行して構築できるように準備。

エンジニアにはTry&Errorが付き物で、挫折も何度もしてきているが、、、どうにも慣れない、、、スムーズに事を進めたいと思ってしまう。

ネットワークが遅い(in the Philippines)

上記の通り、入れ直し、、、と思ったが、ネットワーク環境があまり良くない。
それに、せっかくAnacondaも入れてあるし、ここは、新たにPython2系で、仮想環境を構築し、そっちからGAEを起動できないか、模索してみよう‼と思った。
理論的にはできるはず、、、。とりあえず、新しく仮想環境をPython2.7で構築。
Terminalを起動したらPythonのバージョンは2.7と出ている‼

こっ、これは行けるのか?!

新たにPython2.7で作ったコンソールから無事、GAEのローカル環境構築が進められそう。
と言うことで、こちらに新たに環境を構築しながら進めてみます‼
何事も経験は大事!!!他の人がやっていないことも、自分の糧になる‼

挫折2回目

、、、進まない。

GAEは起動したが、動かすと

ERROR 2019-01-09 06:52:39,525 wsgi.py:263]
Traceback (most recent call last):
File "/Applications/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = config_handle.add_wsgi_middleware(self._LoadHandler())
File "/Applications/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/Applications/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import
_(path[0])
File "/Users/nori/flask/app.py", line 11
SyntaxError: Non-ASCII character '\xe3' in file /Users/nori/flask/app.py on line 11, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
INFO 2019-01-09 06:52:39,561 module.py:861] default: "GET / HTTP/1.1" 500 -
^CINFO 2019-01-09 06:53:06,262 shutdown.py:50] Shutting down.

と言うエラーが。
ファイルの中に日本語を入れていたのでそれによりエラーが発生。

その後、いろいろ試行錯誤していたが、、、最終的に、残念な結果になった。

File "app.py", line 28
cv2.imwrite(f"images/{datetime.now().strftime('%s')}.jpg",img_resize)
^
SyntaxError: invalid syntax

はPython3以降で用意されている関数らしく、Python2環境で動かそうとするとエラーになる。
マジか。。。

とりあえず、このプログラムをGAEで動かすのはいったん諦める、、、挫折2回目。

となれば!!あとはやるだけ‼

https://qiita.com/togoturns/items/579b0cf73370f4022f29
こちらのサイトを参考にさせていただきながら、作業を進める。

できた‼最後の難関があった

とりあえず超簡単なサンプルで実行!!
しかしエラーが、、、

ERROR 2019-01-09 14:34:24,067 wsgi.py:263]
Traceback (most recent call last):
File "/Users/nori/.py_appengine/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = config_handle.add_wsgi_middleware(self._LoadHandler())
File "/Users/nori/.py_appengine/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/Users/nori/.py_appengine/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import
(path[0])
File "/Users/nori/gaeflask/main.py", line 4, in
from flask import Flask
File "/Users/nori/gaeflask/lib/flask/
init_.py", line 21, in
from .app import Flask, Request, Response
File "/Users/nori/gaeflask/lib/flask/app.py", line 25, in
from . import cli, json
File "/Users/nori/gaeflask/lib/flask/cli.py", line 18, in
import ssl
File "/anaconda3/envs/flaskongae/lib/python2.7/ssl.py", line 98, in
import _ssl # if we can't import it, let the error propagate
File "/Users/nori/.py_appengine/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 1097, in load_module
raise ImportError('No module named %s' % fullname)
ImportError: No module named _ssl

もう、よくわからん!!!と探すと
http://yustam.hatenablog.com/entry/2013/11/02/163325
こんなものが見つかった。書いてあるとおり、WHITE_LISTへ突っ込み終了、、、じゃあ、最初から除外しておいてくれよ、、、。

gcloud app deploy

終末は来た、最後に、このコマンドを打ってGAEへデプロイ、、、途中、フィリピンのホテルでWi-Fiがつながらないなどの障害に見舞われたが、無事完了。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1