質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

0回答

309閲覧

Django製アプリをGoogle App Engine】にデプロイした時の「No module named 'MySQLdb'」エラーについて

TAKASHIARAKI

総合スコア6

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Google App Engine

Google App Engineは、Googleの管理するデータセンター上でウェブアプリケーションの開発が可能なクラウドコンピュータ技術です。Java、Python、Go用にSDKが用意されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2019/09/14 15:18

https://github.com/priyankavergadia/Django-Dialogflow-GoogleVisionAPI

↑のDjangoのチャットボットをリンク先のページのドキュメントを元に、動かそうとしいて、
最後のGoogle app engineへのデプロイのところで詰まっています。

■発生している問題

python manage.py runserver

では問題なく動くのですが、

gcloud app deploy

をした際、デプロイが成功したように見えるのですが、
指定されたURLをブラウザで開くと「502 Bad Gateway」が表示されてしまいます。

Google app engine のログビューアで確認すると、

textPayload: "Traceback (most recent call last): File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker worker.init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 104, in init_process super(ThreadWorker, self).init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 129, in init_process self.load_wsgi() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi self.wsgi = self.app.wsgi() File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load return self.load_wsgiapp() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp return util.import_app(self.app_uri) File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app __import__(module) File "/srv/main.py", line 1, in <module> from mysite.wsgi import application File "/srv/mysite/wsgi.py", line 16, in <module> application = get_wsgi_application() File "/env/lib/python3.7/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application django.setup(set_prefix=False) File "/env/lib/python3.7/site-packages/django/__init__.py", line 19, in setup configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) File "/env/lib/python3.7/site-packages/django/conf/__init__.py", line 57, in __getattr__ self._setup(name) File "/env/lib/python3.7/site-packages/django/conf/__init__.py", line 44, in _setup self._wrapped = Settings(settings_module) File "/env/lib/python3.7/site-packages/django/conf/__init__.py", line 107, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/opt/python3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/srv/mysite/settings.py", line 82, in <module> import MySQLdb as sql # noqa: 402 ModuleNotFoundError: No module named 'MySQLdb'"

と表示されます。
MySQLdbのモジュールの読み込みに問題が生じているのだとは見えるのですが、
このrunserver では正常に動くのに、GAE上ではエラーが出る理由がわからず困っております。

ちなみに、setting.py上の表記は、

# Install PyMySQL as mysqlclient/MySQLdb to use Django's mysqlclient adapter # See https://docs.djangoproject.com/en/2.1/ref/databases/#mysql-db-api-drivers # for more information import MySQLdb # noqa: 402

としていて、

pip install mysqlclient

でインストールは完了しております。
GAE上でMySQLdbモジュールを読み込みためには何か追加で設定が必要なのでしょうか。
アドバイスいただけますと幸いです。

■問題の発生した環境
・windows10
・Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
・django 2.2.4
・MY SQL 第2世代5.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2019/09/15 00:26

「python3 manage.py collectstatic」は問題なく完了したのでしょうか? また、local環境では正常に稼働しましたか?
TAKASHIARAKI

2019/09/16 14:01

meg様 コメントありがとうございます。ご返信遅くなりまして申し訳ありませんでした。 「python manage.py collectstatic」(windowsのため)は成功しています。 すでに完了しているため、下記メッセージが出ます。 C:\Users\ellay\Django-Dialogflow-GoogleVisionAPI>python manage.py collectstatic You have requested to collect static files at the destination location as specified in your settings. This will overwrite existing files! Are you sure you want to do this? Type 'yes' to continue, or 'no' to cancel: yes 0 static files copied, 124 unmodified. またローカル環境では正常に動きますが、 サーバー環境で今回のエラーが出ている状態です。
TAKASHIARAKI

2019/09/16 14:07

また参考までになのですが、gcloud app deploy 後のメッセージは↓です。 C:\Users\ellay\Django-Dialogflow-GoogleVisionAPI>gcloud app deploy Services to deploy: descriptor: [C:\Users\ellay\Django-Dialogflow-GoogleVisionAPI\app.yaml] source: [C:\Users\ellay\Django-Dialogflow-GoogleVisionAPI] target project: [michatbot-250809] target service: [default] target version: [20190916t230226] target url: [https://michatbot-250809.appspot.com] Do you want to continue (Y/n)? Y Beginning deployment of service [default]... #============================================================# #= Uploading 0 files to Google Cloud Storage =# #============================================================# File upload done. Updating service [default]...done. Setting traffic split for service [default]...done. Deployed service [default] to [https://michatbot-250809.appspot.com] You can stream logs from the command line by running: $ gcloud app logs tail -s default To view your application in the web browser run: $ gcloud app browse Updates are available for some Cloud SDK components. To install them, please run: $ gcloud components update このあとブラウザで確認するとエラーが起こります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問