我正在尝试通过Google App Engine部署Python Flask,HTML,JavaScript Web应用程序。
我正在将sqlite3用于数据库
>>> python
>>> import sqlite3
这很好用。使用
部署我的Web应用程序$ 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
。我不确定为什么会这样,有人可以帮忙吗?
我想知道我是否应该在要求.txt中包含sqlite3?如果可以的话,我该怎么做?
答案 0 :(得分:0)
来自this answer:
sqlite3
是标准库的可选部分。
因此,它不是通过pip
并因此使用requirements.txt
文件安装的。但是它需要一些包级别的依赖项libsqlite3-dev
或sqlite-devel
,这些依赖项不在Google App Engine Python3运行时中提供。因此,无法在Google App Engine标准上使用sqlite3
。
解决方案是使用Cloud Run,这将允许您在Docker容器中运行应用程序,并且可以自定义运行时。您可以从此Quickstart guide开始,也可以检查this answer我提供的与其他库差不多的问题。