2016-04-28 9 views
0

Я создаю приложение, использующее python и kivy, используя from tinydb import TinyD, Query для импорта модуля tinydb. Это отлично работает при тестировании моего кода python и kivy. После использования buildozer для создания apk и отладки, он говорит, что он разбился из-за ImportError: no module named tinydb. Я попытался добавить tinydb в качестве необходимого набора в buildozer.spec, но это не исправить. Я совершенно уверен, что мне нужно установить tinydb в мой каталог приложений, таким образом пакет загружается и включается в мой APK. Однако я не совсем уверен, как это сделать. Например, я установил графический модуль из kivy garden, используя garden install --app graph. Если у кого есть предложения, это было бы здорово!Как установить tinydb в каталоге приложения

ответ

2

Я никогда не использовал buildover, но так как tinydb - это крошечная чистая библиотека python, которую вы, возможно, можете загрузить и включить библиотеку tinydb непосредственно в свой проект и импортировать ее локально.

Я использовал следующую структуру каталогов

│ app.py 
├───db 
│  db.json 
└───tinydb 
    │ database.py 
    │ middlewares.py 
    │ operations.py 
    │ queries.py 
    │ storages.py 
    │ utils.py 
    │ __init__.py 

И главный сценарий app.py

from tinydb import TinyDB, Query 
import os 

dirname = os.path.dirname(os.path.abspath(__file__)) 
db = TinyDB(os.path.join(dirname, 'db', 'db.json')) 
+0

нормально я еще немного запутался. Как найти имя каталога для tinydb? Вернее, путь? – Azaro

+0

Поместив весь каталог tinydb в папку моего проекта, я смог импортировать его из app.py без проблем - python знает, как искать в текущем каталоге библиотеки. Вы можете загрузить репо с страницы [tinydb pypi] (https://pypi.python.org/pypi/tinydb) –

+0

Правильно, поэтому в основном я спрашиваю, как вы поместите весь каталог tinydb в папку? Также я не совсем уверен, где находится репо на своей странице. – Azaro