PyScript
前回、PyScriptでファイル選択ウインドウ(ファイルセレクター)からファイルパスや中身を取得する方法を紹介しました。
今回は標準ライブラリや外部ライブラリをPyScript内でインポートする方法を紹介します。
実はこのライブラリのインポートがPyScriptが発表された直後と私が勉強し始めた頃とでは結構変わっていて悩んだ部分の一つでした。
そのため誰かの役に立てばいいなぁと思いつつ、この記事を書いています。
それでは始めていきましょう。
標準ライブラリのインポート
標準ライブラリのインポートは通常のPythonのインポートと変わりません。
PyScriptタグ内で「import os」のように記述するだけで使用できるようになります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head>
<body>
<div id="text"></div>
<py-script>
import os
Element("text").write(os.getcwd())
</py-script>
</body>
</html>
外部ライブラリのインポート:よく見た編
次に外部ライブラリのインポート方法ですが、まずはよく見た編です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- numpy
</py-env>
</head>
<body>
<div id="text"></div>
<py-script>
import numpy as np
a = [2, 4, 6, 3, 7]
max_val = np.max(a)
Element("text").write(max_val)
</py-script>
</body>
</html>
py-envタグ内に「 – numpy」のようにハイフンを付けた形で使用したいライブラリを記載します。
そしてpyscriptタグ内でインポートするというやり方です。
pyscriptのライブラリの読み込み部分を見てもらえると分かるのですが、「”https://pyscript.net/alpha/pyscript.css」と「”https://pyscript.net/alpha/pyscript.js”」と「alpha」のバージョンを指定しているのです。
ただこの記事を書いている時点(2023年2月)では「”https://pyscript.net/latest/pyscript.css”」と「”https://pyscript.net/latest/pyscript.js”」というように常に「latest」、つまり最新バージョンを読み込むようになっています。
ちなみに「latest」バージョンのPyScriptでは「py-env」タグは機能しないようです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
<py-env>
- numpy
</py-env>
</head>
<body>
<div id="text"></div>
<py-script>
import numpy as np
a = [2, 4, 6, 3, 7]
max_val = np.max(a)
Element("text").write(max_val)
</py-script>
</body>
</html>
外部ライブラリのインポート:Latest用
Latestのバージョンで外部ライブラリをインポートするには「py-configタグ」内に使用するライブラリを「packages = [“ライブラリ1”, “ライブラリ2”]」という形で記載します。
そしてpy-scriptタグ内でインポートします。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head>
<body>
<py-config>
packages = ["numpy"]
</py-config>
<div id="text"></div>
<py-script>
import numpy as np
a = [2, 4, 6, 3, 7]
max_val = np.max(a)
Element("text").write(max_val)
</py-script>
</body>
</html>
PyScriptは本当に最近発表され、開発が進んでいるライブラリなのでまだまだ変化が激しいのかもしれません。
これまでPythonでも廃止された、もしくは廃止される予定の関数などもありましたが、今回ほど変更前の情報が出てくるということはありませんでした。
おかげでかなり苦労しています。
ということでこの情報もすぐに使えなくなるかもしれませんが、それだけでも困っている誰かに分かってもらえれば本望です。
次回は自作のライブラリのインポートの仕方を紹介します。
ではでは今回はこんな感じで。
コメント