見出し画像

ブラウザでPython!

WebAssemblyとして動かせるようになったみたいです。で、WebAssemblyってなに?ということで言葉の意味から

プログラミング言語やライブラリの名前ではなく、ブラウザでプログラムを高速実行するための、
「ブラウザ上で動くバイナリコードの新しいフォーマット(仕様)」
である。

言語の実行環境がインストール不要でWebブラウザがあれば実行できる
スマートフォンのような環境でも実行できる
Webブラウザで実行できる言語の選択肢が増える

Pyodide

Pyodide REPL(https://pyodide.org/en/stable/console.html)

基本的にはCDNを使ってブラウザでJavaScriptの形で実行します。

https://cdn.jsdelivr.net/pyodide/v0.23.3/full/pyodide.js
<!doctype html>
<html>
  <head>
      <script src="https://cdn.jsdelivr.net/pyodide/v0.23.3/full/pyodide.js"></script>
  </head>
  <body>

    Pyodide test page <br>
    Open your browser console to see Pyodide output

    <script type="text/javascript">
      async function main(){
        let pyodide = await loadPyodide();
        console.log(pyodide.runPython(`
            import sys
            sys.version
        `));
        pyodide.runPython("print(1 + 2)");
      }
      main();
    </script>
  </body>
</html>

<script type="text/javascript">
  async function main(){
  let pyodide = await loadPyodide();
   console.log(pyodide.runPython(`
   import sys
   sys.version
   `));

  pyodide.runPython("print(1 + 2)");
  }
main();
</script>

コンソールで出力です。バージョンと3というのが出力されています。

3.11.2 
3


以前からあるものの紹介。

PyScript

PyScriptを使うと、PythonのコードをJavaScriptと同様にタグで囲って記述すればよく、コードの見通しがはるかによくなります。PyScriptは、Pythonの科学計算ディストリビューションであるAnacondaで有名な、米国Anaconda社によるプロジェクトです。

https://atmarkit.itmedia.co.jp/ait/articles/2306/16/news001.html
<html>
  <head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <py-script>
        print('Hello, World!')
    </py-script>
  </body>
</html>

こちらを実行するとそのままホームページ上に表示されます。

Pythonのコードをいろいろ試したい時に使うのはGoogleColabが良いです。


この記事が気に入ったらサポートをしてみませんか?