sqlite ImportError: нет модуля с именем _sqlite3 Google App Engine - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь развернуть веб-приложение Python Flask, HTML, JavaScript через Google App Engine.

Я использую sqlite3 для своей базы данных

 >>> python
 >>> import sqlite3

Это прекрасно работает. Развертывание моего веб-приложения с

$ gcloud app deploy

Работает просто отлично.

Однако, когда я захожу на страницу, я получаю это сообщение

Ошибка: ошибка сервера

Сервер обнаружил ошибку и не смог выполнить ваш запрос. Пожалуйста, повторите попытку через 30 секунд.

И когда я проверяю Отчет об ошибках в https://console.cloud.google.com/home/dashboard Я получаю эту ошибку

Traceback (most recent call last):
File "/base/alloc/tmpfs/dynamic_runtimes/python27g/941d77da994078b1/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/941d77da994078b1/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 311, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/941d77da994078b1/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/base/data/home/apps/p~live-business-solutions/20191010t190446.421644656225294026/webapp.py", line 9, in <module>
    from databasefunctions import *
  File "/base/data/home/apps/p~live-business-solutions/20191010t190446.421644656225294026/databasefunctions.py", line 5, in <module>
    import sqlite3
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/941d77da994078b1/python27/python27_dist/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/941d77da994078b1/python27/python27_dist/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3

Это от линии

import sqlite3

моего файла databasefunctions.py. Я не уверен, почему это так, может кто-нибудь, пожалуйста, помогите?

Мне было интересно, если я должен как-то включить sqlite3 в require.txt? и если да, то как бы я это сделал?

1 Ответ

0 голосов
/ 11 октября 2019

С этот ответ :

sqlite3 является необязательной частью стандартной библиотеки.

Таким образом, он не устанавливается через pip и, таким образом, использует файл requirements.txt. Но ему нужны некоторые зависимости уровня пакета libsqlite3-dev или sqlite-devel, которые не входят в среду выполнения Python3 Google App Engine. Поэтому невозможно использовать sqlite3 в Google App Engine Standard.

Решение состоит в том, чтобы использовать Cloud Run , что позволит вам запускать ваше приложение в контейнере Docker, и высможет настроить ваше время выполнения. Вы можете начать с этого Краткое руководство по началу работы или проверить этот ответ , который я предоставляю о той же проблеме с другой библиотекой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...