[PYTHON] Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (1)

** Was ist Kinetise ** Kinetise ist ein Entwicklungsdienst für mobile Anwendungen, der in Bluemix verfügbar ist (Dezember 2015). Stand des Monats). Durch die Verknüpfung mit dem Webdienst von Python und Django haben wir eine schnelle Entwicklung einer mobilen Anwendung realisiert, die CRUD verarbeiten kann.

** Was ich in diesem Artikel vermitteln möchte ** Informationen zu Python- und Django-Webdiensten, zum Bereitstellen der Bluemix Python-Laufzeit und zum Erstellen von Anwendungen mit Kinetise finden Sie im Kinetise-Handbuch Starters SDK. Und wie man das Problem löst. Beachten Sie, dass die Authentifizierung nicht implementiert ist. Bei der eigentlichen Entwicklung muss es separat betrachtet werden.

** Arbeitsumfeld ** Ich arbeite in einer Windows 7 SP1 64-Bit-Umgebung. Informationen zu Python, Django usw. finden Sie in der unten stehenden Anforderung.txt. Wichtig ist, dass Sie die in Githubs Python Buildpack enthaltene Version für die Bereitstellung mit Bluemix verwenden. Die Verwendung einer Version, die nicht im Buildpack enthalten ist, führt zu Kompatibilitätsfehlern während der Bereitstellung, was die Isolierung des Problems erschwert. Python 2.7 wird für rf_alter_api.zip verwendet, eine Bibliothek für Kinetise. Dies liegt daran, dass rf_alter_api.zip eine in Python 3 geänderte Funktion verwendet (z. B. wurde urlparse in Python 2.7 in Python 3 in urllib.parse umbenannt), was zu einem Fehler führte (Stand Dezember 2015).

** Arbeitsablauf ** Das Verfahren ist wie folgt. Ich werde jede Arbeit erklären.

  1. Vorbereitung in Bezug auf Eclipse und Python (Einführung, Erstellung des Python-Projekts)
  2. Python-Code-Änderung
  3. Überprüfen Sie den Betrieb mit POSTMAN
  4. Zur Bluemix Python-Laufzeit bereitstellen
  5. Entwicklung und Erstellung einer mobilen Anwendung mit Kinetise (harte Arbeit)

** 1. Vorbereitung in Bezug auf Eclipse und Python (Einführung, Erstellung des Python-Projekts) ** 1.1. Installieren Sie Eclipse und Python unter Bezugnahme auf die Prozedur der großen Vorfahren. Beachten Sie, dass dieser Artikel Eclipse Marse.1 (4.5.1) und Python 2.7.10 verwendet. Für das Python-Entwicklungs-Plug-In von Eclipse können Sie die PyDev-Umgebung von Anfang an verwenden, indem Sie die Python-Version von Pleiades All in One auswählen.

1.2. Erstellen Sie eine virtuelle Umgebung (env3) in Eigene Dateien und installieren Sie die erforderlichen Module. Informationen zur Benutzerfreundlichkeit der virtuellen Umgebung und von Eclipse finden Sie in den Artikeln unserer Vorgänger. Auf diesem Arbeits-PC wurden mehrere Versionen von Python installiert und mehrere virtuelle Umgebungen erstellt. Daher werden Befehle wie virtualenv und pip mit absoluten Pfaden angegeben, um Verwirrung zu vermeiden. Da vitalenv bereits installiert wurde, überprüfen wir die Version mit Freeze. Wenn es nicht installiert wurde, installieren Sie es, bevor Sie mit der Arbeit beginnen. Unten ist das Protokoll. Der Benutzername ist hoge.

Befehlsprotokoll


C:\Users\hoge\Documents>C:\Python27\Scripts\pip.exe freeze -l
virtualenv==13.1.2

C:\Users\hoge\Documents>C:\Python27\Scripts\virtualenv.exe env3
New python executable in env3\Scripts\python.exe
Installing setuptools, pip, wheel...done.

C:\Users\hoge\Documents>cd env3\Scripts

C:\Users\hoge\Documents\env3\Scripts>activate
(env3) C:\Users\hoge\Documents\env3\Scripts>pip install django
Collecting django
  Using cached Django-1.9-py2.py3-none-any.whl
Installing collected packages: django
Successfully installed django-1.9

(env3) C:\Users\hoge\Documents\env3\Scripts>pip install djangorestframework
Collecting djangorestframework
  Using cached djangorestframework-3.3.2-py2.py3-none-any.whl
Installing collected packages: djangorestframework
Successfully installed djangorestframework-3.3.2

(env3) C:\Users\hoge\Documents\env3\Scripts>pip install markdown
Collecting markdown
Installing collected packages: markdown
Successfully installed markdown-2.6.5

(env3) C:\Users\hoge\Documents\env3\Scripts>pip install django-filter
Collecting django-filter
  Using cached django_filter-0.11.0-py2.py3-none-any.whl
Installing collected packages: django-filter
Successfully installed django-filter-0.11.0

(env3) C:\Users\hoge\Documents\env3\Scripts>pip install yattag
Collecting yattag
Installing collected packages: yattag
Successfully installed yattag-1.5.2

(env3) C:\Users\hoge\Documents\env3\Scripts>pip install drf-extensions
Collecting drf-extensions
Requirement already satisfied (use --upgrade to upgrade): djangorestframework>=2
.3.5 in c:\users\hoge\documents\env3\lib\site-packages (from drf-extensions)

Installing collected packages: drf-extensions
Successfully installed drf-extensions-0.2.8

(env3) C:\Users\hoge\Documents\env3\Scripts>pip freeze -l
Django==1.9
django-filter==0.11.0
djangorestframework==3.3.2
drf-extensions==0.2.8
Markdown==2.6.5
wheel==0.24.0
yattag==1.5.2

1.3 Starten Sie Eclipse. Geben Sie C: \ Users \ hoge \ workspace_env3 als Arbeitsbereich an. Wählen Sie in den Einstellungen Python Interpreter aus dem Fenster aus. Der Name des Interpreters lautet python27 und die ausführbare Datei des Interpreters lautet C: \ Users \ hoge \ Documents \ env3 \ Scripts \ python.exe. Entpacken Sie die von kinetise heruntergeladene Datei rf_alter_api.zip und kopieren Sie den Ordner rf_alter_api nach C: \ Users \ hoge \ Documents \ env3 \ Lib \ site-packages. Deaktivieren Sie zu diesem Zeitpunkt die Option "Schreibgeschützt" in den Ordnereigenschaften. Es funktioniert ohne es zu entfernen. Ein Schreibfehler kann auftreten, weil in diesem Ordner eine Pyc-Datei generiert wird. Der Zweck ist es, die Angst zu zerstreuen.

1.4 Wählen Sie in Eclipse File-New-Project PyDev-PyDev Django-Projekt aus und erstellen Sie ein neues Pydev-Projekt mit dem Projektnamen kinetise. Wählen Sie python27 als Interpreter. Klicken Sie mit der rechten Maustaste auf das Kinetise-Projekt und wählen Sie Django-Migrate (Django> = 1.7) manage.py migrate. Wählen Sie in ähnlicher Weise Django-Create Application (manage.py start app) und geben Sie Kommentare für den Namen der Django-App an. (Ergänzung) Wenn Sie eine virtuelle Umgebung mit Python 3 virtualenv in 1.2 erstellen, funktioniert das Kinetise-Projekt nicht ordnungsgemäß, da der PYTHONPATH des Kinetise-Projekts Python 3-Module enthält, die Kinetise nicht unterstützen. Um dies zu beheben, müssen Sie mit Python 2.7 vitalenv neu beginnen. Außerdem entspricht die Reihe der Arbeiten den Kommentaren von django-admin startproject kinetise ~ manage.py startapp in der Befehlszeile, wodurch manage.py in Eclipse verfügbar wird. Beachten Sie übrigens beim Erstellen eines neuen Eclipse-Projekts, dass bei Auswahl des Pydev-Projekts von Anfang an manage.py nicht erstellt wird und die nachfolgende Arbeit kompliziert wird. Wenn der letzte Bildschirm der SQLite3-Einstellungsbildschirm ist, wurde manage.py erstellt. Sie können manage.py selbst hinzufügen, aber es ist einfacher, es mit File-New-Project von Grund auf neu zu erstellen. Außerdem enthält der Ordner rf_alter_api Objekte für den Kinetise-Webdienst, auf die über PYTHONPATH verwiesen werden muss. Mit anderen Worten, der Pfad des Ordners rf_alter_api muss in "PYTHONPATH zur Ausführung" in Eclipse und in der Umgebungsvariablen PYTHONPATH in run.sh für Bluemix enthalten sein.

Damit ist die Erklärung der Eclipse- und Python-bezogenen Vorbereitung (Einführung, Erstellung des Python-Projekts) abgeschlossen. Als nächstes erkläre ich PYTHON Code Fix.

Recommended Posts

Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (3)
Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (1)
Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (2)
Entwicklung mobiler Anwendungen mit IBM Bluemix Kinetise (1)
Virtualisieren (isolieren) Sie die IBM i Python-Entwicklungsumgebung mit chroot
Entwicklungsverdauung mit Django
Entwicklung des Bluemix Python Microservice
Virtualisieren (isolieren) Sie die IBM i Python-Entwicklungsumgebung mit chroot
Entwicklungsverdauung mit Django
Entwicklung des Bluemix Python Microservice