2016-11-24 10 views
0

Auf Windows Plat, ich erweitern den Python-Pfad, um meine Modul-Ordner enthalten. Das funktioniert gut, aber sobald das Kivy-Programm von Buildozer in eine apk kompiliert wird, lädtKivy Buildozer Apk - Benutzerdefinierte Module importieren

der 'Import' Befehl nicht mehr meine Module. Die Protokolldatei lautet ....

[WARNING] stderr: ImportError: No module named a_sync

Fehler beim ersten Modul.

Gibt es eine spezielle Möglichkeit, eigene Module aus dem Ordner zu importieren, den Sie in Ihrem Datenbankverzeichnis eingerichtet haben?

------- Update -------------

Ich glaube nicht, meine apk die Pyo Dateien importieren. Ich kann sehen, wo ich den Python-Pfad zu meinen Modulen erweitert habe ... aber keinen Import.

---- update ---------- Die apk läuft jetzt aber die Grafik stimmt nicht. Kivy Launcher führt die App perfekt aus (Grafiken und alles), was könnte also mit dem Buildozer Build schief gehen?

Die Visuals haben diese lustig aussehende Verzerrung. Beispiel: Wenn ein PNG-Bild rund wie ein Kreis ist, zeigt kivy apk running die gleiche Grafik wie ein Stern oder eine Blume (nicht mehr vollständig rund).

--- update ---- Ich aktualisierte den Kivy Launcher und es hat auch die verzerrte graphcis rendering.

+0

Ich muss ein detailliertes Tutorial erstellen, wie man die virtuelle Vermutung auf Windows den ganzen Weg zum Bauen mit buildozer aufstellt, weil es viele kleine Ein- und Ausgänge gibt, die man nirgendwo im Netz finden kann. Ich schaffte es, meine App zum Laufen zu bringen ... endlich ... es dauerte nur über eine Woche. Etwas anderes ist aber falsch ... meine Grafiken sind alle durcheinander. Der Kivy Launcher hat meine App perfekt ausgeführt, Grafiken und alles ... also, was schief geht bei der Verwendung von Buildozer, um die Apk zu erstellen? – chitondihk

Antwort

0

fiel einfach kundenspezifische Module im selben Ort main.py (Pyo) befindet. Kivy ist wie ein anderes API-Set, das ich in der Vergangenheit verwendet habe, außer dass Kivy keine vollständige 3D-Engine ist. Wie die 3D-Engine, die ich in der Vergangenheit verwendet habe, wurden finale Pakete von einer virtuellen Umgebung ausgeführt. Der Unterschied war dann die Tatsache, dass ich meine benutzerdefinierten Module in Pythons Site-Packages-Verzeichnis speichern konnte.

Da dies in kivy nicht der Fall ist (zumindest nicht durch buildozer), ist das root-Verzeichnis am besten opt.

0

P4A hat den Weg automatisch und Sie wahrscheinlich kann es nicht andere Art und Weise ändern, als dies:

import sys 
sys.path.append('your path') 
+0

Ich habe meine Module zu arbeiten, indem Sie sie im Stammordner, aber ich kann dies nicht mit meinen Ressourcen, die in meinem Taxi-Ordner sind, der die Grafiken enthält. In dem Moment, als meine App versuchte, eine WAV-Datei zu laden, die beendet wurde, schloss die App mit dem Fehler "Keine solche Datei für Verzeichnis". Warum kann die App ihren eigenen Stammordner nicht sehen, der das main.pyo enthält? Wenn du keinen Datenbankordner haben kannst, gibt es nicht viel, was du mit Kivy machen kannst. – chitondihk

+0

Bitte lesen Sie die Dokumentation von python, wie 'import' funktioniert. Wenn Sie eine Datei nicht laden können, benutzen Sie 'os' Modul, um es z. 'os.path.dirname (os.path.abspath (__ Datei __))' ist ein Root-Verzeichnis, wenn solche Funktionen in 'main.py' ausgeführt werden. Ich habe keine Ahnung, was dieser "Datenbank" -Ordner ist. Wenn es Java-Sache ist, ist es nicht ein kleines bisschen mit Kivy verwandt. Dumping ganzen Rahmen, weil Sie eine Datei nicht laden können und höchstwahrscheinlich haben Sie nicht Python Docs im Zusammenhang mit einem solchen Thema überhaupt gesehen, ist nur dumm. – KeyWeeUsr

+0

Ich weiß, wie der Import geht, seit Jahren mit Python. Mein Modulproblem stellte sich als Problem mit der Spezifikationsdatei heraus.Kivy-Dokumente decken nicht kleine kleine "Ins-und-Outs" ab, so dass ein Benutzer möglicherweise über diese Probleme hinweggeht, wie ich es tat. In der Zukunft möchte ich ein vollständiges, detailliertes Dokument über die virtuelle Maschine, Kivy und Buildozer schreiben ... einschließlich jener unerwähnten Dinge, die mich am Boden festhielten. – chitondihk

Verwandte Themen