2017-12-23 11 views
0

私のプロジェクトは、ユーザにとって数学的に大変です。それは方程式を入力し、固有値のようなかなり複雑な項目でそれらを解きます。私はこれのいくつかをjavascriptですが、私はnumpyを利用したpythonスクリプトも書いています。私は、ユーザが自分のローカルマシンにスクリプトを持っていて、その代わりに私のサーバ上で数学を解決するという選択肢を持つことができるようにしたい。ウェブページからPythonスクリプトを呼び出して結果を得る

したがって、ユーザーは方程式を入力してEnterキーを押します。 javascriptは、ユーザーのローカルマシン上で実行されているpythonスクリプトを呼び出します。方程式は私のコードで解決され、結果はWebページに返されます。

これはCGIでは可能だと思っていましたが、これがどのように達成されるかについての明確な文書を見つけることはできません。より良い方法がありますか?

私はサードパーティ製のソフトウェアを実行したくないため、ブラウザでPythonコードを実行したくありません。

ありがとうございました

+0

ブラウザ自体は、セキュリティ上の理由からインターネット経由ではなく、直接PCから物事を取り込むことはできません。私が考えることができる唯一の可能な方法は、あなたのウェブサイトがPythonコードをロードする独自のサーバーをすべてのユーザーホストに持たせることです。 –

+0

これは私が実際に考えていたものです。ユーザーは自分のサーバーを自分のコンピュータで起動し、自分のサイトからコードをダウンロードすることができます。または、ブラウザからロードして実行することができます。私の考えは、ユーザーがサーバー上で実行するのではなく、自分のマシンでコードを実行する方が望ましいということです。 –

+0

その場合、私は彼らがちょうどウェブサイト上の小さな.exeをすべて一緒に好むだろうと思う。 Pythonコードに応じて、ユーザーがコードをダウンロードするのはおそらく、実行するのと同じくらい高価(サーバー単位)であることに注意してください。 –

答えて

0

短い答えは:いいえ、これはできません。

確かに、互換性のあるバージョンのPythonがインストールされている場合は、スクリプトをダウンロードして実行できますが、ブラウザから実行できません(重大なセキュリティ上の問題です)。

オプションはJSで記述するか、サーバー上にAPIを作成するか、既存のAPIを見つけて使用するかのいずれかです。

0

現代のブラウザはローカルマシン上でコードを実行することはできませんが、あなたのコメントに暗示されているように、PythonコードとAJAXリクエストをダウンロードして回避することができます。そうすれば、エンドユーザーはサーバーを自分で実行する必要があります。 Flaskはおそらくあなたの最善の選択肢でしょう。サーバーをPythonコード内で実行するために、フラスココードを埋め込みます。あなたの数学が実行されたら、あなたのウェブサイトに結果を送信するAJAXリクエストを行います。

私は個人的には、JSで数学をすべて実行するか、自分のサーバーからPythonコードを提供することをアドバイスします。

関連する問題