[PYTHON] Créons une application Mac avec Tkinter et py2app

Je souhaite créer une application pour Mac.

Nous avons reçu une consultation d'un magasin qui nous aide à produire des pages Web, etc., sur la façon de rassembler les détails de la commande d'une boutique en ligne qui reçoit des précommandes principalement en ligne en raison de l'influence de Corona. Il est normal de le mettre en place dans Excel, mais j'ai pensé que je pouvais créer une application simple, alors j'ai décidé de le créer en enquêtant.  Tkinter https://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html Copiez et exécutez l'Introduction au programme GUI. En passant, il semble que Tkinter soit souvent inclus dans python, donc si vous développez sur Mac, vous n'avez pas besoin de l'installer. Essayez d'exécuter l'exemple de programme de calculatrice à la fin de cette page. Screen Shot 2020-05-04 at 7.02.38.png Les + et-qui auraient dû apparaître n'apparaissent pas. J'ai essayé diverses choses, mais tkinter et py2app décrits plus tard semblent être très sensibles à l'influence de la version python et de la source d'installation, j'ai donc essayé de changer la source d'installation telle que pyenv et miniconda, mais après tout, j'ai mis à jour le système d'exploitation vers Catalina Et probablement réussi avec Python 3.8.2 (je suis désolé si c'est différent!) Et virtualenv qui étaient inclus dans le produit authentique. Ce serait un bon article pour enregistrer l'enregistrement des échecs de cette zone, mais je ne l'ai pas correctement enregistré, donc je l'enregistrerai la prochaine fois que je ferai quelque chose. Screen Shot 2020-05-04 at 7.43.23.png affaire en cours de règlement. Examinons maintenant l'exemple de programme et modifions les pièces nécessaires.

travail

Puisqu'il s'agit d'un programme qui lit les fichiers csv et génère des résultats agrégés, j'ai décidé de créer uniquement le côté car l'interface est bonne avec la partie qui affiche le nom du fichier, le bouton d'appel de répertoire et le bouton d'exécution. Une tâche simple de réécrire la classe définie dans l'exemple dans votre propre classe et d'appuyer sur un bouton. Screen Shot 2020-05-04 at 7.58.26.png Cela semble bon. Ensuite, faisons le contenu. J'ai fait référence aux articles qiita de ici et ici. (Parce que je suis un débutant, faites-moi savoir s'il existe une meilleure façon de citer.) Pour le fichier de dialogue de tkinter, j'ai fait référence à ce tutoriel. L'organisation des données lit les pandas habituels. CSV du site Web, crée un sous-ensemble de blocs de données du nom du produit et l'agrège.

#Lister uniquement les valeurs uniques
self.itemlist=df["Item's Name"].unique()
#Calculer le nombre total à partir de trames de données de sous-ensemble
result={}
for item in self.itemlist:
  tempdf=df.loc[df["Item's Name"]==item]
  sumqty=tempdf["Qty"].sum()
  result[item]=sumqty

Création binaire pour Mac

Créez un binaire pour Mac. J'ai essayé d'utiliser py2app en me référant à ce site, mais mon Mac est tombé en panne, l'application n'a pas pu être ouverte, etc. Pour résoudre divers problèmes de dépendance ici, J'ai mis les bibliothèques nécessaires dans l'environnement virtualenv dans virtualenv avec pip (je pense que ce n'était que pandas et py2app cette fois), et j'ai finalement réussi à créer l'application.

L'utilisation de py2app lui-même est très simple

py2applet --make-setup test.py
python setup.py py2app

Vous pouvez le faire avec juste cela. Les bibliothèques dépendantes ne semblent fonctionner que si elles sont correctement séparées par virtualenv. De cette façon, la première vie de l'application était enfin terminée. Même si le code pouvait être fait en un jour, il a fallu deux jours de plus pour en faire une application lol Je suis désolé que le ton ait changé. Revoyons-nous.

Recommended Posts

Créons une application Mac avec Tkinter et py2app
Créez une application graphique native avec Py2app et Tkinter
Essayez de créer un jeu simple avec Python 3 et iPhone
Créons une application qui affaiblit les nerfs avec Vue.js et Django-Rest-Framework [Partie 2] ~ Configuration de Vue ~
Faisons une application qui affaiblit les nerfs avec Vue.js et Django-Rest-Framework [Partie 1] ~ Django setup ~
Faisons une interface graphique avec python.
Faisons une rupture de bloc avec wxPython
Faisons un graphe avec python! !!
Faisons un spacon avec xCAT
Créez une application météo résidente dans la barre de menus Mac avec des croupes!
Faisons la voix lentement avec Python
Créez un framework Web avec Python! (1)
Faisons une IA à trois yeux avec Pylearn 2
Créez une application de bureau avec Python avec Electron
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Remplaçons UWSC par Python (5) Faisons un robot
Faisons une application qui affaiblit les nerfs avec Vue.js et Django-Rest-Framework [Partie 3] ~ Implémentation de la faiblesse nerveuse ~
Faisons une application qui affaiblit les nerfs avec Vue.js et Django-Rest-Framework [Partie 6] ~ Authentification utilisateur 2 ~
Faisons une application qui affaiblit les nerfs avec Vue.js et Django-Rest-Framework [Partie 5] ~ Authentification des utilisateurs ~
Faisons un Makefile et construisons-le (super débutant)
[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
[Jouons avec Python] Créer un livre de comptes de ménage
Essayez de créer une grille sphérique avec Rhinoceros / Grasshopper / GHPython
[Super facile] Faisons un LINE BOT avec Python.
Créons une application capable de rechercher des images similaires avec Python et Flask Part1
Créons une application capable de rechercher des images similaires avec Python et Flask Part2
Programmation avec Python et Tkinter
Faisons un robot Discord.
Travailler avec le tkinter et la souris
Faisons Othello avec wxPython
Faites une loterie avec Python
Faire un feu avec kdeplot
Créons un client de socket Web avec Python. (Authentification par jeton d'accès)
[Pratique] Créez une application Watson avec Python! # 3 [Classification du langage naturel]
Créons un diagramme PRML avec Python, Numpy et matplotlib.
Créez des RPG 2D avec Ren'Py (3) - Boutique d'objets et d'outils
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
Faisons un diagramme sur lequel on peut cliquer avec IPython
Fabriquez un thermomètre BLE et obtenez la température avec Pythonista3
Faisons une rumba distante [Matériel]
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 1
Faisons une rumba distante [Logiciel]
Créons une IA à trois voies avec Pylearn2 --Save and load model -
Faites un son avec le notebook Jupyter
Faisons un ordinateur de vélo avec Raspberry Pi Zero (W, WH)
Faisons un service de vente au comptant 2
Créez un environnement Python sur votre Mac avec Anaconda et PyCharm
HTTPS avec Django et Let's Encrypt
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 2
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
Faisons un service de vente au comptant 1
Créez une Spinbox qui peut être affichée en binaire avec Tkinter
Faisons l'IA d'Othello avec Chainer-Part 1-
Faites la programmation Let et Let's One-Line
Application GUI facile avec Tkinter Text
Créez un thermomètre avec Raspberry Pi et rendez-le visible sur le navigateur Partie 4