2017-01-04 4 views
-1

現在、Process(new processStartinfo( "/ path/to/python.exe"、 "/path/to/script.py")を介してPythonスクリプトを呼び出すMVCプロジェクトがあります。 私はこれをazureに公開すると、python.exeをどのように呼び出すことができますか?(これは私の最初の公開ウェブであり、公開に関する完全な理解がないため、Pythonスクリプトを使用したMVCアプリケーションの公開

PS IronPythonを使用しようとしましたが、スクリプトでNLTKが使用されていたので問題が発生しました。& nltkをpipでインストールし、python.exeを引数として/ path/to/script.py。すべての入力は評価されています

EDIT:私のhomeControllerは、path_of_python、path_of_scriptをコマンドラインに渡し、出力をリダイレクトし、(出力から)戻ってくるデータを処理するプロセスを開始します。

+0

本当にあなたがAzureでどのようにしているかによって異なります。 Azureのウェブサイトですか? VM? Azure関数を使用できますか? Pythonコードはウェブサイトとまったく同じマシンで実行する必要がありますか? – mason

+0

私はAzureのウェブサイトを考えていたが、同僚は私に彼がそれが可能ではないと思っていると言ったが、小さなPythonの経験のために完全に確実ではなかった。私は詳細について私の質問を編集しました。私は、それが働く限り、出版の方法を好みません。 – Gio

+0

私が知る限り、AzureのWebサイトでは別のプロセスを実行することはできません。しかし、Azure関数(Google it)を使用したり、Pythonアプリケーションを別の場所に設定することを妨げるものは何もありません。 – mason

答えて

0

Azure WebサイトのC#でNLTKパッケージのPythonスクリプトを使用することは可能でしょう。

私は以下の回避策で実装しようとしましたが、正常に動作します。 URL https://<your webapp name>.scm.azurewebsites.netを経由して、あなたのWebアプリケーションのクーズーツールアクセス

  1. AzureのWebAppの上のPython & NLTKをインストールするために

    ステップ1。

  2. 32ビットバージョンのAzure WebAppを例として使用している場合は、D:\homeというパスにインストールされるサイト拡張子Python 2.7.12 x86をインストールしてください。 enter image description here
  3. Kudu CMDに切り替えると、ここにインストールされている新しいPythonランタイムが表示され、その上で操作を行う権限があります。 enter image description here
  4. コマンドcd Python27touch get-pip.pypipツールをインストールするpython get-pip.pyを実行し、Editボタンでget-pip.pyにURL https://bootstrap.pypa.io/get-pip.pyの内容をコピーします。 enter image description here
  5. nltkパッケージをインストールするコマンドScripts\pip install nltk。コマンドが完了するまで
  6. python -m nltk.downloader -d D:\home\Python27\nltk_data allは以下のように、他のURLを現在のブラウザウィンドウを閉じたり、切り替えないでくださいコマンド、NLTKデータをダウンロードするにはあなたがでURL https://<your webapp name>.scm.azurewebsites.net/ProcessExplorer/を経由して、以下のようにプロセスでダウンロードタスクを表示することができenter image description here 他のブラウザウィンドウ。 enter image description here 6.1または、ローカルのnltkデータをダウンロードしてAzure WebAppにアップロードすることができます。

パスwwwrootでNLTKパッケージ

  1. コマンドtouch test.pyでのテストのPythonスクリプトステップ2、および以下の内容を編集します。

    import nltk 
    sentence = """At eight o'clock on Thursday morning 
    ... Arthur didn't feel very good.""" 
    tokens = nltk.word_tokenize(sentence) 
    print tokens 
    
  2. コンソールには次のような結果が表示されます。C#でProcess

    経由 enter image description here

ステップ3コールのPythonスクリプトだけで、あなたのC#コードでそれらの代わりにPythonランタイム&スクリプトD:\home\Python27\python & D:\home\site\wwwroot\test.pythonのabsoulteパスを使用しました。

あなたの結果をお試しください。どんな心配も、私に知らせてください。

+0

最終的にこれを試してみたら、うまくいきました!!!ありがとう – Gio

関連する問題