Erklären, wie LINE BOT auf einfachste Weise der Welt erstellt werden kann (2) [Vorbereiten der Bot-Anwendung in einer lokalen Umgebung mit Django of Python]

Einführung

Letztes Mal habe ich ein Konto für Line Bot erstellt. Ab diesem Zeitpunkt werden wir ernsthaft ein System für Line Bot bauen.

Ich sehe oft in PHP geschriebene Kommentarartikel zum Erstellen eines Line-Bot-Systems, aber dieses Mal werde ich ein System mit Python erstellen. Der Grund dafür ist, dass wir die "Verarbeitung natürlicher Sprache" planen, die die von Line Bot ausgetauschten Sätze analysiert und die beste Antwort darauf gibt. Python verfügt über zahlreiche Bibliotheken solcher Verarbeitungssysteme für natürliche Sprachen. ist.

Anschließend erstellen wir eine Anwendung für Bot mit "Django", dem typischsten Python-Webframework. Wenn Sie Django oder andere Webanwendungen erstellt haben, können Sie so weitermachen, wie es ist. Wenn Sie jedoch Anfänger sind oder wissen möchten, wie man Django verwendet, können Sie den Kommentarartikel lesen, den ich zuvor geschrieben habe. Es ist einfach, also schauen Sie bitte.

No. Titel
1 Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (1) [Umgebungskonstruktion]
2 Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (2) [Projekterstellung]
3 Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (3) [Anwendungserstellung / DB-Einstellung]
4 Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (4) [Einführung in Routing-Einstellungen und MTV-Entwurfsmuster]
5 Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (5) [Einführung in den DB-Betrieb mit Django-Shell]
6 Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (6) [Vervollständigung des MTV-Entwurfsmusters]

Entwicklungsumgebung

Wir werden mit der Diskussion unter der Annahme einer Mac-Umgebung fortfahren.

Überprüfen Sie die Python-Version wie folgt.

Überprüfen Sie die Python-Version des Systems


$ python3 --version
Python 3.5.2

Installieren Sie Django


$ pip3 install django==1.10.3

Django Versionsprüfung


$ python3
Python 3.5.2 (default, Jun 29 2016, 13:43:58)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.get_version()
'1.10.3'

Erstellen Sie ein Projekt für die Line Bot-API

Erstellen Sie zunächst eine Python VirtualEnvironment für die API. Dies ist der größte Link für die Weiterentwicklung eines Python-Projekts.

$ python3 -m venv api

Dann erstellen Sie hier ein Projekt. Dies wird auch als "api" bezeichnet.

Ein Projekt erstellen


$ cd api
$ django-admin startproject api .

Ist das nicht eine virtuelle Umgebung? apiEin Verzeichnis mit dem Namen wird erstellt und die Verzeichnisstruktur lautet wie folgt.

Überprüfen Sie die Verzeichnisstruktur (bin usw. weggelassen)


$ tree -L 2 api
api
├── api
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── bin
├── include
├── lib
├── manage.py
└── pyvenv.cfg

Erstellen einer Django-Anwendung

In diesem "API" -Projekt erstellen wir eine Anwendung namens "Linebot". Installieren Sie zunächst das Python-Webframework "Django". Die Version von Django sollte die aktuellste Version sein, 1.10.3.

Dann werden wir eine Linebot-Anwendung in diesem "API" -Projekt erstellen.

Eine Anwendung erstellen


$ cd api
$ django-admin startapp linebot .
$ tree -L 1 .
api
├── api
├── bin
├── include
├── lib
├── linebot
├── manage.py
└── pyvenv.cfg

Einstellungen nach dem Erstellen einer Django-Anwendung

Nach dem Erstellen der Anwendung sind verschiedene Einstellungen erforderlich. Hier werden jedoch nur die minimal erforderlichen Einstellungen vorgestellt.

api/settings.py (Teil)


# Application definition
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'linebot',  #hinzufügen
)
#Zeitzone ändern
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False  #Wechseln Sie aufgrund der UTC-Zeitzone standardmäßig zu False

Datenbankeinstellungen (SQLite)

Stellen Sie die DB ein. Dieses Mal verwenden wir SQLite ohne Änderungen gegenüber den Grundeinstellungen.

DB-Einstellungen


$ python3 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK

  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

Starten Sie den Server

Lassen Sie uns nun den Server lokal starten und prüfen, ob die Standardwebseite angezeigt wird.

Starten Sie den Webserver


$ python3 manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
November 12, 2016 - 13:04:05
Django version 1.10.3, using settings 'linebot.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Greifen Sie nach dem Start des Webservers über Ihren Browser auf http://127.0.0.1:8000/ zu.

スクリーンショット 2016-11-12 13.05.49.png

Zusammenfassung

Jetzt haben Sie eine lokale Entwicklungsumgebung.

Line Bot ist nicht lokal und kann nur ausgeführt werden, indem diese Webanwendung auf einem Remote-Server platziert wird. Beim nächsten Mal werde ich erklären, wie diese Anwendung mit dem Server synchronisiert wird.

Nächster Kommentarartikel

Die weltweit am einfachsten zu verstehende Erklärung, wie LINE BOT erstellt wird (3) [Verknüpfung mit Server mit Git]

Bonus

Wir warten darauf, dass Sie uns folgen!

Serviceeinführung Bitte kontaktieren Sie uns, wenn Sie an "Kikagaku" interessiert sind, einem Einzelunterrichtsdienst für maschinelles Lernen, mit dem Sie "Mathematik → Programmierung → Webanwendung" gleichzeitig lernen können.

Recommended Posts

Erklären, wie LINE BOT auf einfachste Weise der Welt erstellt werden kann (2) [Vorbereiten der Bot-Anwendung in einer lokalen Umgebung mit Django of Python]
Die weltweit am einfachsten zu verstehende Erklärung zur Herstellung von LINE BOT (1) [Kontoerstellung]
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Die weltweit am einfachsten zu verstehende Erklärung, wie LINE BOT erstellt wird (3) [Zusammenarbeit mit dem Server mit Git]
So installieren Sie das Python-Paket in einer lokalen Umgebung als allgemeiner Benutzer
Der einfachste Weg, um mit Django zu beginnen
Der einfachste Weg, um Stimme mit Python zu synthetisieren
Der einfachste Weg, OpenCV mit Python zu verwenden
Erstellen Sie ein Django-Projekt und eine Django-Anwendung in einer virtuellen Python-Umgebung und starten Sie den Server
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer
So konvertieren / wiederherstellen Sie einen String mit [] in Python
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Der einfachste Linienbot der Welt, um Gewicht zu verlieren
[Super einfach] Machen wir einen LINE BOT mit Python.
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
[Lernnotiz] So erstellen Sie eine Anwendung mit Django ~ Von der virtuellen Umgebung bis zum Pushing zu Github ~
So erstellen Sie mit Flask einen BOT für Cisco Webex-Teams
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
So installieren Sie NPI + Senden Sie eine Nachricht an Python
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Verwendung der Methode __call__ in der Python-Klasse
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Bis Django etwas mit einem Linienbot zurückgibt!
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
So erstellen Sie einen interaktiven LINE BOT 004 (beantworten Sie den Stichtag eines börsennotierten Unternehmens)
[Python] Erstellen Sie ein Programm, das Zeilenumbrüche in der Zwischenablage löscht. + Als Verknüpfung mit Fenstern registrieren
So machen Sie einen String in Python zu einem Array oder ein Array zu einem String
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
So überprüfen Sie die Speichergröße einer Variablen in Python
Wie man einen lockeren Bot macht
Lernverlauf zur Teilnahme an der Entwicklung von Teamanwendungen mit Python ~ Build Docker / Django / Nginx / MariaDB-Umgebung ~
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
Der einfachste Weg, eine Flasche herzustellen
Erstellen Sie mit Django einen LINE-Bot
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
Debuggen eines Python-Programms durch Remoteverbindung mit einem Docker-Container in einer WSL2-Umgebung mit VS-Code
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
So erstellen Sie einen LINE-Bot mit künstlicher Intelligenz mit der Flask + LINE Messaging-API
[Einführung in die Udemy Python3 + -Anwendung] 47. Verarbeiten Sie das Wörterbuch mit einer for-Anweisung
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen