c# - tutorial - npm webserver



Veröffentlichen von MVC-Anwendungen mit Python-Skript (1)

Es scheint möglich zu sein, Python-Skript mit NLTK-Paket in C # auf der Azure-Website zu verwenden.

Ich habe versucht, es über eine Umgehungslösung wie unten zu implementieren, und es funktioniert gut.

Schritt 1. Zum Installieren von Python und NLTK in Azure WebApp

  1. Greifen Sie über die URL https://<your webapp name>.scm.azurewebsites.net das Kudu-Tool Ihrer https://<your webapp name>.scm.azurewebsites.net .
  2. Installieren Sie eine Site-Erweiterung Python 2.7.12 x86 die im Pfad D:\home installiert wird, wenn Sie die 32-Bit-Version von Azure WebApp als Beispiel verwenden.
  3. Wechseln Sie zum Kudu CMD, dann sehen Sie eine neue Python-Runtime, die hier installiert wurde und Sie haben die Erlaubnis, irgendwelche Operationen daran durchzuführen.
  4. cd Python27 und touch get-pip.py und kopiere den Inhalt der URL https://bootstrap.pypa.io/get-pip.py über Edit in den cd Python27 und touch get-pip.py dann python get-pip.py , um das pip Tool zu installieren.
  5. Command Scripts\pip install nltk , um das nltk Paket zu installieren.
  6. Um die nltk-Daten herunterzuladen, befehlen Sie python -m nltk.downloader -d D:\home\Python27\nltk_data all wie unten, schließen Sie bitte nicht das aktuelle Browser-Fenster oder wechseln Sie andere URLs, bis der Befehl abgeschlossen ist Sie können die Download-Aufgabe im Prozess wie https://<your webapp name>.scm.azurewebsites.net/ProcessExplorer/ über die URL https://<your webapp name>.scm.azurewebsites.net/ProcessExplorer/ im anderen Browserfenster https://<your webapp name>.scm.azurewebsites.net/ProcessExplorer/ . 6.1 Oder Sie können die nltk-Daten lokal herunterladen, um sie in Azure WebApp hochzuladen.

Schritt 2. Zum Testen von Python-Skript mit NLTK-Paket

  1. touch test.py im Pfad wwwroot und bearbeiten Sie den folgenden Inhalt.

    import nltk
    sentence = """At eight o'clock on Thursday morning
    ... Arthur didn't feel very good."""
    tokens = nltk.word_tokenize(sentence)
    print tokens
  2. Die Konsole zeigt das Ergebnis wie folgt, es funktioniert.

Schritt 3. Ruft Python-Skript über Process in C # auf

Verwenden Sie nur den absoluten Pfad der Python-Laufzeit und des Skripts D:\home\Python27\python und D:\home\site\wwwroot\test.python anstelle von ihnen in Ihrem C # -Code.

Bitte versuchen Sie Ihr Ergebnis zu melden. Jede Sorge, bitte zögern Sie nicht mich wissen zu lassen.

Ich habe derzeit MVC-Projekt, das Python-Skript über Process (new processStartinfo ("/ Pfad / zu / python.exe", "/ path/to/script.py") aufruft. Was im Visual Studio einwandfrei funktioniert. Wenn ich dies veröffentliche auf azurblau, wie wird es python.exe aufrufen können? (Ich bin wahrscheinlich nicht genau diese Frage zu konstruieren, da dies meine erste Web zu veröffentlichen ist und nicht das volle Verständnis der Veröffentlichung haben)

PS Ich habe versucht, IronPython zu verwenden, aber da mein Skript NLTK verwendet, stieß ich auf eine Menge Probleme, so dass es einfacher war, python & nltk mit pip zu installieren, dann python.exe mit einer Befehlszeile aufzurufen, die das Argument / path / to / script verwendet. py. Jede Eingabe wird geschätzt.

BEARBEITEN: mein homeController startet einen Prozess, der in path_of_python, Pfad_des_Scripts zur Befehlszeile übergibt, leitet die Ausgabe um und arbeitet an den Daten, die es zurückbekommt (von der Ausgabe).





azure