繁体   English   中英

Google App Engine上带有Bottle框架的Python sqllite3

[英]Python sqllite3 with bottle framework on Google App Engine

不能重复。 根据此链接下的内容, import sqlite3应该在GAE下工作。 但是,在我的脚本中导入sqlite3会引发以下错误(在我设法忽略了上一个错误的应用目录中放置了sqlite3 for Python27而非sqlite3 for Python34之后,在底部进行了描述):

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正常工作,因为从上述链接下的帖子中判断似乎应该可行?

我一直在开发一个带有Bottle框架的应用,该框架通过用户表单收集数据并将其存储在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一起工作吗? 谢谢

这是解决了我的问题的答案: OS X AppEngine-ImportError:没有名为_sqlite3的模块将'_sqlite3'添加到sandbox.py中的_WHITE_LIST_C_MODULES中也适用于Win7。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM