Créez une application de bureau avec Python avec Electron

introduction

logo_horizontal.png

Quand j'ai pensé que l'environnement GUI de Python était délicat, je pouvais facilement créer un lien avec Electron et il semblait que je pouvais créer un bel environnement GUI, alors j'ai fait une application simple. Référence: Electron as GUI of Python Applications

Merci de votre collaboration!

Si vous trouvez cet article utile, je vous serais reconnaissant de bien vouloir «** aimer **» cet article.

A propos de l'auteur

02.jpg

Je suis ** Kikagaku Co., Ltd. ** Directeur Représentant ** Ryosuke Yoshizaki ** Mon nom est. Actuellement, «** Machine Learning / Artificial Intelligence De-Black Box Seminar **» et «** Online Home Teacher for Machine Learning ** ”est exploité.

Biographie

Affiliation Département / Département contenu de recherche Châtiment
Collège national de technologie de Maizuru Département d'ingénierie de contrôle électronique Traitement d'image d'étude (AR)
Collège national de technologie de Maizuru Département de génie des systèmes électriques et de contrôle Recherche sur l'ingénierie robotique, le contrôle du système et l'optimisation
École supérieure de l'Université de Kyoto École supérieure d'informatique (Kano Lab Rechercheappliquéesurl'apprentissageautomatiquepourl'industriemanufacturière PrixADCHEM2016dumeilleurarticle,PrixdetechnologiedelaChemicalEngineeringSociety
SHIFT Co., Ltd. Bureau du président Recherche sur l'automatisation des tests logiciels par l'intelligence artificielle Stade CEDEC 2016
Carat Co., Ltd. Directeur et COO Application de proposition d'itinéraire optimale (traitement / optimisation du langage naturel)
Kikagaku Co., Ltd. PrésidentetCEO Séminaired'apprentissageautomatique/intelligenceartificielleOuTuteurenligne

Kikagaku Co., Ltd.

logo_horizontal.png

Fournir des services éducatifs pour l'apprentissage automatique et l'intelligence artificielle

Nous nous réjouissons de votre suivi

Nous fournissons des informations sur l'apprentissage automatique et l'intelligence artificielle d'un point de vue commercial et des ouvrages de référence recommandés.

Président et PDG Ryosuke Yoshizaki Twitter:@yoshizaki_kkgk Facebook:@ryosuke.yoshizaki Blog: Blog du représentant de Kikagaku

Maintenant que l'introduction est longue, commençons à construire l'environnement!

Environnement de développement

・ Système d'exploitation: Mac OS X EL Capitan (10.11.5)

Environnement

Cette fois, nous utiliserons Flask, le framework Web léger de Python.

Flash(python)Et installation d'électrons


$ pip install Flask
$ npm install -g electron-prebuilt

Si vous êtes tombé sur l'installation d'Electron, il est probable que la mise à jour du côté node.js fonctionnera. Pour plus de détails, consultez l'article précédent Introduction à Electron (de l'installation à Hello World).

Créez des applications de bureau Python avec Electron

Créer un nouveau projet

Structure du répertoire


PythonApp
├── node_modules
├── hello.py
├── main.js
└── package.json

Créez un nouveau projet pour Electron.

Créer un nouveau projet


$ mkdir PythonApp
$ cd PythonApp
$ npm init -y

Ici, il y a un module nécessaire du côté node.js, alors installez-le.

Installation des modules requis


$ npm install --save request
$ npm install --save request-promise 

npm init -package créé avec y.Modifiez json.




#### **`package.json`**
```json

{
  "name": "PythonApp",
  "version": "0.1.0",
  "main": "main.js",
  "dependencies": {
    "request-promise": "*",
    "electron-prebuilt": "*"
  }
}

Créer main.js pour la partie contrôle de l'application

Créez main.js dans le répertoire pour contrôler Electron.

main.js


//Réglage initial côté Electron
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
let mainWindow;

//Quitter lorsque l'application est fermée
app.on('window-all-closed', function() {
  app.quit();
});

//Traitement après le lancement de l'application
app.on('ready', function() {
  var subpy = require('child_process').spawn('python',['./hello.py']);
  var rq = require('request-promise');
  var mainAddr = 'http://localhost:5000';

  var openWindow = function() {
    mainWindow = new BrowserWindow({width: 400, height: 300 });
    mainWindow.loadURL(mainAddr);

    //Terminer le traitement
    mainWindow.on('closed', function() {
      mainWindow = null;
      subpy.kill('SIGINT');
    });
  };

  var startUp = function() {
    rq(mainAddr)
      .then(function(htmlString) {
        console.log('server started');
        openWindow();
      })
      .catch(function(err) {
        startUp();
      });
  };

  startUp();
});

Créez hello.py pour la partie d'affichage de l'application

Créez hello.py.

hello.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import print_function
import time
from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():
    return "Hello World!<br>This is powered by Python backend."

if __name__ == "__main__":
    print('on hello')
    app.run(host="127.0.0.1", port=5000)

Exécuter Electron

Exécutez l'exemple d'application.

Exécuter Electron


$ electron .
スクリーンショット 2016-08-07 2.01.18.png

Cela a bien fonctionné. C'est tout ce qu'on peut en dire.

Je vous remercie pour votre travail acharné.

Nous nous réjouissons de votre suivi

Nous fournissons des informations sur l'apprentissage automatique et l'intelligence artificielle d'un point de vue commercial et des ouvrages de référence recommandés.

Président et PDG Ryosuke Yoshizaki Twitter:@yoshizaki_kkgk Facebook:@ryosuke.yoshizaki Blog: Blog du représentant de Kikagaku

Jusqu'à la fin Merci d'avoir lu.

Recommended Posts

Créez une application de bureau avec Python avec Electron
Faites une loterie avec Python
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
Faisons une interface graphique avec python.
Faisons un graphe avec python! !!
[Pratique] Créez une application Watson avec Python! # 3 [Classification du langage naturel]
Faisons un jeu de shiritori avec Python
Faisons la voix lentement avec Python
Créez un framework Web avec Python! (1)
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Créez une application de scraping avec Python + Django + AWS et modifiez les tâches
Créer un bot Twitter Trend avec heroku + Python
Essayez de créer un code de "décryptage" en Python
Remplaçons UWSC par Python (5) Faisons un robot
Essayez de créer un groupe de dièdre avec Python
Combinez des chaînes répétitives en une seule avec des expressions régulières Python.
Faisons un outil de veille de commande avec python
[Jouons avec Python] Créer un livre de comptes de ménage
J'ai créé une application de notification de nouvelles en ligne avec Python
Essayez de créer un jeu simple avec Python 3 et iPhone
Faire un point d'arrêt sur la couche c avec python
Créez Puyopuyo AI avec Python
Créer un bookmarklet en Python
Créer un outil de formatage CSV avec Python Pandas Py Installer
Créons une application Mac avec Tkinter et py2app
Créer un répertoire avec python
Qu'est-ce que Dieu? Créez un chatbot simple avec python
[Super facile] Faisons un LINE BOT avec Python.
Faire un feu avec kdeplot
Incorporer un interpréteur Python dans une application C ++ avec pybind11 + cmake
Associez Python Enum à une fonction pour la rendre appelable
Expérimentez pour créer un PDF indépendant pour Kindle avec Python
Créez une application météo résidente dans la barre de menus Mac avec des croupes!
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
Résoudre ABC163 A ~ C avec Python
Faites fonctionner l'imprimante de reçus avec python
Manuel de graphisme Python avec Matplotlib.
Créer Apache Log CSV avec Python
Faites un son avec le notebook Jupyter
Résoudre ABC166 A ~ D avec Python
Faisons une rupture de bloc avec wxPython
Créez un environnement virtuel avec Python!
J'ai fait une loterie avec Python.
Créer un environnement virtuel avec Python 3
python / Créer un dict à partir d'une liste.
Résoudre ABC168 A ~ C avec Python
[Python] Faire de la fonction une fonction lambda
[Python] Générer un mot de passe avec Slackbot
Résoudre ABC162 A ~ C avec Python
Créer un filtre avec un modèle django
Résoudre ABC167 A ~ C avec Python
Résoudre ABC158 A ~ C avec Python
Faisons un spacon avec xCAT
Créer un itérateur de modèle avec PySide
[Python] Hériter d'une classe avec des variables de classe
J'ai créé un démon avec Python