2015-01-25 3 views
0

У меня есть Myfile объект с БД SQL файла:Google App Engine: синтаксический анализ базы данных SQL

class MyFile(ndb.Model): 
    data = ndb.BlobProperty() 

данных хранилища свойств БД SQL файла. Поэтому в requestHandler мне нужно проанализировать этот файл. Я пытаюсь с помощью стандартной библиотеки sqlite3, но получаю ошибку на GAE стороны:

ImportError: No module named _sqlite3 

С PyDbLite библиотеки Я получаю ошибку тоже:

from PyDbLite.SQLite import Database, Table 
File "libs/PyDbLite/SQLite.py", line 81, in <module> 
    from pysqlite2 import dbapi2 as sqlite 

Есть ли способ разбора SQL базы данных в очках движок приложения?

Я знаю, что gae использует хранилище NoSQL, мне просто нужно обрабатывать файл sql db.

+1

Вы сделали эти модули доступными для вашего приложения с двигателем? Если они не загружаются при развертывании, вы не сможете их импортировать (даже если все это работает локально). Вы можете добавить в свой приложение gae самый чистый-питон и многие не чистые модули. –

+0

@PaulCollingwood Да, я загрузил дополнительную библиотеку, но все еще имею эту ошибку. –

+0

, возможно, он недоступен на GAE из-за его C-компонентов, но не уверен. –

ответ

1

Модуль _sqlite3 может находиться в вашем пути python локально, но при развертывании модуль не может быть найден. Вы можете отлаживать свой путь python, печатая его во время производства и следя за тем, чтобы модуль был виден на этом пути (имейте в виду, что любой старый файл или папка не считается модулем, готовым для импорта на python, он должен иметь __init__.py) ,

Единственная причина, вы получите эту ошибку, если вы либо

A) Не удалось загрузить модуль, который вы используете, как часть вашего проекта, ошибочно полагая, что так как он был виден на локальный код питона он должен быть виден при развертывании

или

B) не удалось правильно ссылаться на загруженный модуль. Мои комментарии в первом абзаце должны помочь вам отладить это дело.

Смежные вопросы