6

こんにちは私はPythonを使用してWeb上にMATLABアプリケーションをデプロイしたいと思います。それを行う方法はありますか?mathworksサイトのドキュメントに従って、アプリケーションをjarファイル(javaクラス)に変換しました。誰かが私を正しい方向に向けて先に進むことができますか

4

1 に答える 1

6

Matlab コードが Jar としてパッケージ化されているという事実は、少なくとも純粋な Python では、ここではあまり役に立たないかもしれません。

Java で記述されたコードを取得して Python に公開するには、いくつかの方法があります。

ジソン

Jython を試す気があるなら、これは Django インターフェースを jar に提供するための非常に簡単な方法かもしれません。

基本的に、通常の Django アプリを作成し、Jython を使用して Jar をネイティブに操作することができます。あなたがCPythonに縛られていないと仮定すると、これは両方の世界の最高のものになる可能性があります。

ジャンゴ・ジソン

Java 互換性インターフェイス

CPYTHON では、次のプロジェクトのいずれかが、Jar ファイル内のコードの操作に役立ちます。

  • JCC : Jar ファイルをラップする Python 拡張モジュールを作成する
  • JPype : JVM を実行し、その JVM で実行されているコードを Python から呼び出すための API を提供します。

別のプロセス:

Matlab (実際には任意の言語) で記述されたスタンドアロン プログラムがある場合は、Django アプリケーションの子プロセスとして実行できます。Django の単純な Web フォームを調べて、値をこのプロセスへの入力として送信できるようにし、ビューで (フォームを検証した後) 次のようにします。

command = "mymatlabprogram.exe %s"%(arg1,)
process = subprocess.Popen(command.split())
stdout, stderr = process.communicate()

それが機能すると仮定すると、stdout から回答を引き出すか、stderr からエラー メッセージを引き出すことができます。そのプロセスなどで作成された画像を提供できます。このようなものが機能したら、celeryd を調べて、Web アプリからサブプロセスのものを抽出できます。

別のプロセスで作業する利点は、Matlab コードのバグを分離して、Web アプリケーションを破壊しないようにすることです。欠点は、クライアントのブラウザーと Web アプリの間、Web アプリと実行可能ファイルの間、そしてクライアントに戻るまで、すべてをシリアル化し、複数回操作する必要があることです。

于 2011-05-02T13:24:48.683 に答える