Letztes Mal konnte ich bauen! dachte ich. Es war jedoch keine App, die funktionierte, nur weil sie erstellt wurde.
Ich habe dort viel recherchiert, also werde ich es zusammenfassen.
Es stellt sich heraus, dass es nicht wirklich plattformübergreifend ist. Ich war überzeugt, dass ich mit nur einem Mac eine App erstellen kann, die Windows, Mac und Linux verwendet.
Tatsächlich scheint es aufgrund fehlender Bibliotheken für jede Entwicklungsumgebung unterschiedlich zu sein.
Ich werde unten ein Beispiel aufschreiben.
Die Entwicklungsumgebung sieht so aus.
$ python
Python 2.7.13 (default, Dec 18 2016, 07:03:39)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import kivy
[INFO ] [Logger ] Record log in /Users/xxxxxxxx/.kivy/logs/kivy_17-02-16_10.txt
[INFO ] [Kivy ] v1.9.2.dev0, git-Unknown, 20170210
[INFO ] [Python ] v2.7.13 (default, Dec 18 2016, 07:03:39)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]
Installieren Sie Windows 10 Pro und CentOS 7 auf dem Firmencomputer auf Mac-Basis.
Wie eingangs erwähnt, konnte ich eine Datei mit der App-Erweiterung generieren. Als ich es startete, passierte jedoch nichts, also fragte ich mich, was los war und versuchte es direkt zu starten.
$ ./dist/xxxx.app/Contents/MacOS/xxxx
ImportError: No module named importlib
Failed to execute script main
Dies war die letzte Ausgabe. Ich habe verschiedene Ursachen untersucht, aber in Wirklichkeit scheint der Import nur für die erste Zeile erforderlich zu sein. Ist dies umweltabhängig? (Es bedeutet, dass ich nicht nur Mac verwenden möchte)
import importlib
Bevor ich es in die erste Zeile einfügte, habe ich auch Folgendes versucht. (Vorerst)
$ pip install -U pyobjc-core pyobjc importlib
Es gibt keine tiefe Bedeutung. Es ist bedeutungslos, da es gestartet werden kann, solange import importlib beschrieben werden kann. Es gibt jedoch einige Build-Fehler, daher ist es möglicherweise besser, sie auszuführen.
Sie können auf Mac bauen. Wenn ich jedoch die unter Windows erstellte exe-Datei bringe, wird sie nicht gestartet. Anscheinend sollten Fenster mit Fenstern gebaut werden. Das heißt, wenn Sie es an eine Linux-Umgebung verteilen möchten, müssen Sie es unter Linux kompilieren ... Es ist gut, dass Android und iOS wie erwartet auf einem Mac erstellt werden können. Funktioniert es jedoch, wenn ich Wine verwende, auf dem Windows auf einem Mac ausgeführt wird? Es ist ein wenig nervig. Oder erstellen Sie eine virtuelle Maschine zum Erstellen ... (Dies ist das schnellste, aber es ist auch teuer)
Natürlich habe ich win32com eine Weile im Build-Protokoll gesehen, aber ich bin ein wenig enttäuscht, dass es nicht plattformübergreifend sein kann.
Und ist win32com nicht für Mac verfügbar? Das Ergebnis der Untersuchung war this.
COM is Windows only.
Oh ... Möchten Sie Wine zu Beginn dieser Sitzung einbeziehen? Ich war ein wenig besorgt, aber ich mag keinen Wein (Problem Bemerkung)
Vor diesem Hintergrund wird das nächste Thema unweigerlich die Erstellung einer Python-Entwicklungsumgebung unter Windows sein.
Linux ähnelt Windows und muss anscheinend in dieser Umgebung erstellt werden. Ich habe die auf dem Mac erstellte Datei auf Linux übertragen und sie mit den folgenden Berechtigungen ausprobiert, aber sie wurde nicht ausgeführt.
chmod a+x
Wenn der Kernel anders ist, funktioniert er möglicherweise nicht. Wenn Sie jedoch mehrere Builds erstellen möchten, können Sie dann ohne jede Umgebung erstellen? Glücklicherweise ist es gut, wenn Sie nur andere als Windows erstellen, da Sie eine CUI-Umgebung vorbereiten können.
Trotzdem muss der Vorgang überprüft werden, daher frage ich mich, ob eine grafische Benutzeroberfläche erforderlich ist.
Bereiten Sie eine Umgebung vor, in der Python und Kivi auf jeder Plattform installiert sind. Und bauen wir auf jeder Plattform auf.
Nächstes Mal "Ich habe versucht, eine Umgebung für Windows und eine Umgebung für Cent OS zu erstellen". Mir wurde klar, dass es unter Windows nicht funktionieren würde, wenn ich eine schwache Idee hätte, Shell zu spielen ... Ist die Ära Ansible? ?? (Aber wie kann ich Ansible auf einem Computer auf der VM ausführen?)
Recommended Posts