mein Ziel ist es, eine App für Android zu erstellen. Dazu nutze ich das Framework kivy und buildozer. Mein Thema ist das Einbinden der Bibliothek pandas. Mein lauffähiges Minimalbeispiel sieht wie folgt aus:
Code: Alles auswählen
from kivy.app import App
from kivy.uix.label import Label
import kivy
kivy.require('1.11.1')
import pandas as pd
class TestLibraries(App):
def build(self):
df = pd.DataFrame()
df.loc[0, 'text'] = 'this is pandas'
return Label(text = df.loc[0, 'text'])
if __name__ == '__main__':
TestLibraries().run()
1. Einbindung via requirements:
Dazu modifiziere ich die spec-Datei wie folgt:
Code: Alles auswählen
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy==1.11.1,pandas
2. Einbindung via recipe
Hierfür verwende ich das recipe https://github.com/kivy/python-for-andr ... pes/pandas von github und speichere es lokal im Ordner recipe. Die .spec-Datei wird dann wie folgt modifiziert:
Code: Alles auswählen
# (str) The directory in which python-for-android should look for your own build recipes (if any)
p4a.local_recipes = /PATH_TO_FOLDER/recipe/
Code: Alles auswählen
Listing '/PATH_TO_FOLDER/.buildozer/android/app/recipe/pandas'...
Compiling 'PATH_TO_FOLDER/.buildozer/android/app/recipe/pandas/__init__.py'...
Und nun ist die Frage: Warum?
Zudem könnte man die Frage stellen, warum ich die 2. Option versuche, wobei doch die 1. funktioniert. Der Grund ist: Ich möchte für eine anderen Bibliothek, welche nicht über die requirements eingebunden werden kann, ein eigenes recipe schreiben. Im ersten Schritt möchte ich daher lernen, wie man ein recipe erfolgreich verwendet.
Ich hoffe ihr habe damit Erfahrungen und könnt mich unterstützen.
Grüße & Danke
DrCapa