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
Wenn Sie diesen Artikel hilfreich finden, wäre ich Ihnen dankbar, wenn Sie diesen Artikel "** mögen **" könnten.
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.
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 |
Bereitstellung von Bildungsdiensten für maschinelles Lernen und künstliche Intelligenz
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!
・ Betriebssystem: Mac OS X EL Capitan (10.11.5)
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).
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 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.
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 die Beispielanwendung aus.
Führen Sie Electron aus
$ electron .
Es hat gut funktioniert. Dies ist abgeschlossen.
Danke für deine harte Arbeit.
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