【发布时间】:2015-11-19 07:46:45
【问题描述】:
不是重复的。根据this link 下写的内容,导入 sqlite3 应该在 GAE 下工作。但是,在我的脚本中导入 sqlite3 会引发以下错误(在将用于 Python27 的 sqlite3 而不是用于 Python34 的 sqlite3 放在 app 目录中之后,我设法省略了前面的错误,如底部所述):
import sqlite3
File "d:\python\jcifapp\jcifapp_ver6\sqlite3\__init__.py", line 24, in <module>
from dbapi2 import *
File "d:\python\jcifapp\jcifapp_ver6\sqlite3\dbapi2.py", line 27, in <module>
from _sqlite3 import *
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py", line 950, in load_module
raise ImportError('No module named %s' % fullname)
ImportError: No module named _sqlite3
我认为放置 _sqlite3 可以解决问题或至少将其向前推进。由于 import sqlite3 在我机器上安装的 Py27 和 Py34 下完美运行,所以从我的计算机启动的脚本必须可以访问 _sqlite3。我只在 Python27\libs 中找到了 _sqlite3.lib(我使用的是 Windows),但将此文件放入 app 目录并没有帮助。有谁知道如何使 GAE 下的 import sqlite3 工作,从上述链接下的帖子来看似乎应该是可能的?
我一直在开发一个带有瓶子框架的应用程序,它通过用户表单收集数据并在 sqlite 数据库中/从 sqlite 数据库中存储/检索数据。在本地一切正常,但在将所有文件部署到 Google App Engine 后,我收到的日志显示导入与 sqlite3 模块相关的模块时出现问题:
File "D:\python\jcifapp\jcifapp_new\sqlite3\__init__.py", line 24, in <module>
*from sqlite3.dbapi2 import *
File "D:\python\jcifapp\jcifapp_new\sqlite3\dbapi2.py", line 25, in <module>
import collections.abc
ImportError: No module named abc
INFO 2015-08-25 22:32:14,997 module.py:808] default: "GET /favicon.ico HTTP/1.1" 500 -*
我尝试将 sqlite3 模块放入项目目录但无济于事。当我在本地运行 Python 脚本时,我在导入 sqlite3 时没有遇到任何问题。我也没有问题部署到 GAE 并从那里运行不使用 sqlite3 的应用程序。 有谁知道如何使 GAE 与 sqlite3 一起工作? 谢谢
【问题讨论】:
标签: python google-app-engine sqlite bottle