[PYTHON] Enquête sur la construction et le fonctionnement de kivi

La dernière fois, j'ai pu construire! J'ai pensé. Cependant, ce n'était pas une application qui fonctionnait simplement parce qu'elle avait été créée.

J'ai fait beaucoup de recherches là-bas, alors je vais les résumer.

Ce que j'ai appris des résultats de l'enquête

Il s'avère que ce n'est pas vraiment multi-plateforme. J'étais convaincu que je pouvais créer une application qui pourrait utiliser Windows, Mac et Linux avec un seul Mac.

En fait, cela semble être différent pour chaque environnement de développement en raison du manque de bibliothèques.

Je vais écrire un exemple ci-dessous.

Environnement de développement en premier lieu

L'environnement de développement ressemble à ceci.

$ 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)]

Installez Windows 10 Professionnel et CentOS 7 sur l'ordinateur de l'entreprise basé sur Mac.

Pour Mac

Comme mentionné au début, j'ai pu générer un fichier avec l'extension d'application. Cependant, quand je l'ai commencé, rien ne s'est passé, alors je me suis demandé ce qui se passait et j'ai essayé de le démarrer directement.

$ ./dist/xxxx.app/Contents/MacOS/xxxx
 ImportError: No module named importlib
Failed to execute script main

C'était la dernière sortie. J'enquêtais sur diverses causes, mais en réalité, il semble que l'importation n'était requise que pour la première ligne. (Cela signifie que je ne veux pas utiliser uniquement Mac)

import importlib

Avant de l'ajouter à la première ligne, j'ai également essayé ce qui suit. (Pour le moment)

$ pip install -U pyobjc-core pyobjc importlib

Il n'y a pas de sens profond. Cela n'a pas de sens car il peut être démarré tant que import importlib peut être décrit. Cependant, il existe des erreurs de construction, il est donc préférable de l'exécuter.

Pour les fenêtres

Vous pouvez construire sur Mac. Cependant, si j'apporte le fichier exe construit à Windows, il ne démarrera pas. Apparemment, les fenêtres devraient être construites avec des fenêtres. Cela signifie que si vous souhaitez le distribuer dans un environnement Linux, vous devez le compiler sous Linux ... C'est bien qu'Android et iOS puissent être construits sur Mac comme prévu, mais cela fonctionnera-t-il si je mets Wine qui exécute Windows sur Mac? C'est un peu ennuyeux. Ou créez une machine virtuelle pour build ... (C'est le plus rapide, mais c'est aussi cher)

Certes, j'ai vu win32com dans le journal de construction pendant un certain temps, mais je suis un peu déçu qu'il ne puisse pas être multi-plateforme.

Et win32com n'est-il pas disponible pour Mac? Le résultat de l'enquête était this.

COM is Windows only.

Oh ... Alors, voulez-vous inclure Wine au début de cette session? J'étais un peu inquiet, mais je n'aime pas le vin (remarque problème)

Cela dit, le prochain thème sera inévitablement la construction d'un environnement de développement python à l'aide de Windows.

Pour Linux

Linux est similaire à Windows et semble devoir être intégré dans cet environnement. J'ai pris le fichier construit sur Mac sur Linux et l'ai essayé avec les autorisations suivantes, mais il n'a pas fonctionné.

chmod a+x

Cela peut ne pas fonctionner si le noyau est différent, mais si vous souhaitez créer plusieurs versions, pouvez-vous construire sans chaque environnement? Heureusement, si vous ne construisez que sous Windows, c'est bien car vous pouvez préparer un environnement CUI.

Pourtant, il est nécessaire de vérifier le fonctionnement, donc je me demande si une interface graphique est nécessaire.

Conclusion

Préparez un environnement avec python et kivi installés sur chaque plateforme. Et construisons sur chaque plateforme.

La prochaine fois, "j'ai essayé de créer un environnement pour Windows et un environnement pour Cent OS". J'ai réalisé que ça ne marcherait pas sous Windows si j'avais une faible idée de jouer à Shell ... L'ère est-elle Ansible? ?? (Mais comment puis-je exécuter Ansible sur une machine sur la VM!?)

Recommended Posts

Enquête sur la construction et le fonctionnement de kivi
Remarques sur la construction de Python et pyenv sur Mac
Notes sur la construction de TinyEMU et le démarrage du noyau Linux sur Emscripten
Construire un environnement Python sur un Mac, jusqu'au point d'utiliser Jupyter Lab
Remarques sur tf.function et traçage
Python sur Ruby et Ruby en colère sur Python
Remarques sur les * args et ** kargs
Enregistrement et lecture sous Linux
Notes sur pyenv et Atom
Élaboration de stratégies algorithmiques sur le commerce intelligent
Catalina sur Mac et pyenv
Tout, de la création d'un environnement Python à son exécution sous Windows