0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PyScript触ってみた

Last updated at Posted at 2022-10-30

要約

ざっくり軽く調べた感じだと

  • PyScriptとは
    • Pyodideでビルドされてる
    • 簡単にいうとHTML上でPythonが動かせる
  • Pyodideとは
    • CPythonのWebAssenblyへの移植版
    • ブラウザ上でPythonを動かす
    • micropipを使う
  • WebAssenblyとは
    • バイナリコードをブラウザで扱うための技術

要するにPythonをバイナリ変換してWebAssenblyで動かしてるってこと?

  • 何が嬉しいのか
    • JSではない選択肢が増える?
    • JSではできないことができる可能性がある?
    • JSより早くなる?

とりあえず使ってみる

git clone https://github.com/pyscript/pyscript
cd pyscriptjs
npm install --global rollup
npm install
npm run dev

上記のコマンドを実行してhttp://localhost:8080/ にアクセスすれば次のような画面が表示されます。

スクリーンショット 2022-05-06 19.34.35.png

[Basic examples]のHello worldを開いてみるとPythonによって現在時刻が計算されていますという内容の文章が表示されます。

スクリーンショット 2022-05-06 19.41.29.png

画面を表示しているhtmlファイルpyscriptjs/examples/hello_world.htmlの中身を見てみるとPythonコードが<py-script></py-script>内で定義されています。

~(省略)~
  <body>
    Hello world! <br>
    This is the current date and time, as computed by Python:
    <py-script>
from datetime import datetime
now = datetime.now()
now.strftime("%m/%d/%Y, %H:%M:%S")
    </py-script>
  </body>
~(省略)~

[Visualizations & Dashboards]のFractals with NumPy and canvasでは<py-env></py-env>でnumpy, sympy, 外部のpyファイルをimportしてフラクタルを描画しています。

~(省略)~
<py-env>
- numpy
- sympy
- paths:
  - ./palettes.py
  - ./fractals.py
</py-env>
~(省略)~

スクリーンショット 2022-05-06 19.47.53.png

使用可能なライブラリ

現時点ではここに記載されているものが使用可能なようです。例えばopencv-pythonscikit-learnも使えるようです。もしかすると頑張ればここにないライブラリも使える?

まとめ

今回はサンプルコードを軽く触ってみました。また興味がでたら触ってみようと思いますが今すぐに何かに活用できそうだなとは思いませんでした。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?