Erstellen Sie eine Desktop-App mit Python mit Electron

Einführung

logo_horizontal.png

Als ich dachte, dass die GUI-Umgebung von Python heikel ist, konnte ich mich leicht mit Electron verbinden und es schien, als könnte ich eine schöne GUI-Umgebung erstellen, also machte ich eine einfache Anwendung. Referenz: Elektron als GUI von Python-Anwendungen

Danke für Ihre Kooperation!

Wenn Sie diesen Artikel hilfreich finden, wäre ich Ihnen dankbar, wenn Sie diesen Artikel "** mögen **" könnten.

Über den Autor

02.jpg

Ich bin ** Kikagaku Co., Ltd. ** Repräsentativer Direktor ** Ryosuke Yoshizaki ** Mein Name ist. Derzeit "** De-Black-Box-Seminar für maschinelles Lernen / Künstliche Intelligenz **" und "** Online-Heimlehrer für maschinelles Lernen **" ”wird betrieben.

Biografie

Zugehörigkeit Abteilung / Abteilung Forschungsinhalte Bestrafung
Maizuru National College of Technology Fakultät für elektronische Steuerungstechnik Studienbildverarbeitung (AR)
Maizuru National College of Technology Fakultät für Elektrotechnik und Regelungstechnik Forschung zu Robotertechnik, Systemsteuerung und Optimierung
Graduiertenschule der Universität Kyoto Graduiertenschule für Informatik (Kano Lab AngewandteForschungzummaschinellenLernenfürdieFertigungsindustrie ADCHEM2016BestPaperAward,TechnologiepreisderChemicalEngineeringSociety
SHIFT Co., Ltd. Büro des Präsidenten Forschung zur Automatisierung von Softwaretests durch künstliche Intelligenz CEDEC 2016 Bühne
Carat Co., Ltd. Direktor und COO Optimale App für Reiseroutenvorschläge (Verarbeitung / Optimierung in natürlicher Sprache)
Kikagaku Co., Ltd. PräsidentundCEO SeminarübermaschinellesLernen/KünstlicheIntelligenzOderOnline-Tutor

Kikagaku Co., Ltd.

logo_horizontal.png

Bereitstellung von Bildungsdiensten für maschinelles Lernen und künstliche Intelligenz

Wir freuen uns auf Ihr Follow-up

Wir bieten Informationen zu maschinellem Lernen und künstlicher Intelligenz aus geschäftlicher Sicht sowie empfohlene Nachschlagewerke.

Präsident und CEO Ryosuke Yoshizaki Twitter:@yoshizaki_kkgk Facebook:@ryosuke.yoshizaki Blog: Blog des Kikagaku-Vertreters

Nachdem die Einführung lang ist, können wir mit dem Aufbau der Umgebung beginnen!

Entwicklungsumgebung

・ Betriebssystem: Mac OS X EL Capitan (10.11.5)

Umgebung

Dieses Mal verwenden wir Flask, Pythons leichtes Webframework.

Flash(python)Und Elektroneninstallation


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

Wenn Sie bei der Installation von Electron gestolpert sind, funktioniert die Aktualisierung der Seite node.js wahrscheinlich. Weitere Informationen finden Sie im vorherigen Artikel Einführung in Electron (Von der Installation zu Hello World).

Erstellen Sie Python-Desktop-Apps mit Electron

Erstellen Sie ein neues Projekt

Verzeichnisaufbau


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

Erstellen Sie ein neues Projekt für Electron.

Erstellen Sie ein neues Projekt


$ mkdir PythonApp
$ cd PythonApp
$ npm init -y

Hier befindet sich auf der Seite node.js ein erforderliches Modul. Installieren Sie es also.

Installation der erforderlichen Module


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

npm init -Paket erstellt mit y.Json bearbeiten.




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

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

Erstellen Sie main.js für den App-Steuerelementteil

Erstellen Sie main.js im Verzeichnis, um Electron zu steuern.

main.js


//Grundeinstellung auf der Elektronenseite
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
let mainWindow;

//Beenden Sie, wenn die App geschlossen ist
app.on('window-all-closed', function() {
  app.quit();
});

//Verarbeitung nach dem Start der App
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);

    //Verarbeitung beenden
    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();
});

Erstellen Sie hello.py für den App-Anzeigeteil

Erstellen Sie 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)

Führen Sie Electron aus

Führen Sie die Beispielanwendung aus.

Führen Sie Electron aus


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

Es hat gut funktioniert. Dies ist abgeschlossen.

Danke für deine harte Arbeit.

Wir freuen uns auf Ihr Follow-up

Wir bieten Informationen zu maschinellem Lernen und künstlicher Intelligenz aus geschäftlicher Sicht sowie empfohlene Nachschlagewerke.

Präsident und CEO Ryosuke Yoshizaki Twitter:@yoshizaki_kkgk Facebook:@ryosuke.yoshizaki Blog: Blog des Kikagaku-Vertreters

Bis zum Ende Danke fürs Lesen.

Recommended Posts

Erstellen Sie eine Desktop-App mit Python mit Electron
Machen Sie eine Lotterie mit Python
[Übung] Erstellen Sie eine Watson-App mit Python! # 2 [Übersetzungsfunktion]
[Übung] Erstellen Sie eine Watson-App mit Python! # 1 [Sprachdiskriminierung]
Lassen Sie uns eine GUI mit Python erstellen.
Lassen Sie uns ein Diagramm mit Python erstellen! !!
[Übung] Erstellen Sie eine Watson-App mit Python! # 3 [Klassifizierung der natürlichen Sprache]
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Lassen Sie uns mit Python langsam sprechen
Erstellen Sie ein Webframework mit Python! (1)
Machen wir einen Twitter-Bot mit Python!
Erstellen Sie ein Webframework mit Python! (2)
Erstellen Sie mit Python + Django + AWS eine Scraping-App und wechseln Sie Jobs
Machen Sie Twitter Trend Bot mit Heroku + Python
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Ersetzen wir UWSC durch Python (5) Machen wir einen Roboter
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Kombinieren Sie sich wiederholende Zeichenfolgen mit regulären Python-Ausdrücken zu einer.
Lassen Sie uns ein Befehls-Standby-Tool mit Python erstellen
[Lass uns mit Python spielen] Ein Haushaltsbuch erstellen
Ich habe mit Python eine App für die Benachrichtigung über Netznachrichten erstellt
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Machen Sie mit Python einen Haltepunkt auf der c-Ebene
Erstelle Puyopuyo AI mit Python
Erstellen Sie ein Lesezeichen in Python
Erstellen Sie mit Python Pandas Py Installer ein CSV-Formatierungswerkzeug
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Erstellen Sie ein Verzeichnis mit Python
Was ist Gott? Erstelle einen einfachen Chatbot mit Python
[Super einfach] Machen wir einen LINE BOT mit Python.
Machen Sie ein Feuer mit kdeplot
Betten Sie einen Python-Interpreter mit pybind11 + cmake in eine C ++ - App ein
Verknüpfen Sie Python Enum mit einer Funktion, um es aufrufbar zu machen
Experimentieren Sie mit Python, um ein PDF für Selbstversorger für Kindle zu erstellen
Erstellen Sie eine Wetter-App für die Mac-Menüleiste mit Rumpf!
Erstellen Sie mit VSCode & Docker Desktop eine einfache Python-Entwicklungsumgebung
Löse ABC163 A ~ C mit Python
Bedienen Sie den Belegdrucker mit Python
Python-Grafikhandbuch mit Matplotlib.
Machen Sie Apache Log CSV mit Python
Machen Sie einen Sound mit Jupyter Notebook
Löse ABC166 A ~ D mit Python
Machen wir einen Blockbruch mit wxPython
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe mit Python eine Lotterie gemacht.
Erstellen einer virtuellen Umgebung mit Python 3
Python / Machen Sie ein Diktat aus einer Liste.
Löse ABC168 A ~ C mit Python
[Python] Machen Sie die Funktion zu einer Lambda-Funktion
[Python] Generiere ein Passwort mit Slackbot
Löse ABC162 A ~ C mit Python
Machen Sie einen Filter mit einer Django-Vorlage
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
Machen wir mit xCAT einen Spacon
Erstellen Sie mit PySide einen Modelliterator
[Python] Erbt eine Klasse mit Klassenvariablen
Ich habe mit Python einen Daemon erstellt