著者:関 勝寿
公開日:2022年8月18日
キーワード: python javascript

下のボックスに Python のコマンドを入れて「実行する」ボタンを押すと、対話モードで Python が動きます。



結果表示

ブラウザサイドでNumPyもscikit-learnもできるPython環境「Pyodide」がすごいの記事を参考に、Pyodide のテストコードを設置した。numpy, scipy, scikit-learn を import できるようにしておいた。たとえば import numpy as np とすると undefined と出力されるが、きちんと import できている。

Pyodide とは何か?

Pyodide のページから What is Pyodide? を以下に訳します。

Pyodide は CPython の WebAssembly / Emscripten への移植です。

Pyodide は、micropip によってブラウザ内で Python パッケージをインストールして走らせることを可能とします。PyPI で wheel が配布されている純粋な Python のパッケージであれば、すべてサポートされます。さらに、多くの C 言語の拡張パッケージが Pyodide に移植されています。その中には、regex, pyyaml, lxml のような多くの一般的なパッケージや、numpy, pandas, scipy, matplotlib, scikit-learn のような科学分野の Python パッケージが含まれます。

Pyodide は強力な Javascript ⟺ Python 間の関数インターフェイスを提供しているため、言語間の摩擦をほとんど感じることなしに、この2つの言語を自由に混ぜて使うことができます。たとえば、エラー制御のフルサポート(片方の言語でエラーを発生させ、もう片方でエラーをキャッチする)、async と await の処理など、他にも色々あります。

ブラウザ内で実行されるときには、Python は Web API に完全にアクセスできます。