pyscript:可在瀏覽器HTML中使用Python

banq發表於2022-05-02

Anaconda的聯合創始人兼CEO Peter Wong在PyCon US上分享了一個名為PyScript的新開源專案。這個專案的目標是在HTML檔案中使用Python!
這對於一般的Python開發,特別是ML從業者來說是一個遊戲規則的改變。

Peter進行了現場編碼並展示了PyScript的一些能力:他從一個基本的 "hello world "例子開始,或者更好的是 "hello PyCon",然後很快就展示了在瀏覽器上執行的更高階的應用,這些應用是用Python寫的,用HTML包裝的!

第一個應用是一個超級馬里奧遊戲,他用Python編寫的計算機視覺包用手勢控制玩家。

第二個是一個曼哈頓計程車旅行的互動式儀表盤(基於matplotlib),他還在Python指令碼中使用了一個Javascript包(D3)!

特點:
  • 瀏覽器中的Python:實現落地內容、外部檔案託管(由Pyodide專案實現,謝謝!),以及應用程式託管,而無需依賴伺服器端的配置
  • Python 生態系統:執行許多流行的Python包和科學堆疊(如numpy、pandas、scikit-learn等)。
  • Python與JavaScript:在Python和Javascript物件和名稱空間之間進行雙向通訊
  • 環境管理:允許使用者定義要包括哪些包和檔案,以便頁面程式碼的執行
  • 視覺化應用開發:使用現成的策劃UI元件,如按鈕、容器、文字框等
  • 靈活的框架:一個靈活的框架,可以利用它來直接在Python中建立和分享新的可插拔和可擴充套件的元件


這是一個重要的里程碑,特別是在機器學習專案的流動性方面,以及在一般的基於Python的應用程式方面。

問題:
1、能用 python 操作 dom 嗎?
它在 WASM 中執行,因此與 WASM 一樣,操作 DOM 的唯一方法是傳入一個 JS 函式。

2、似乎與 brython ( https://brython.info/ ) 非常相似。很有趣

3、要麼將 Python 轉換為 JS,要麼死在重新發明 Jupyter Notebooks 上。JupyterLab 已經被移植到與 Pyolite 一起工作

4、除了在瀏覽器上玩MNIST之外,我認為PyScript與機器學習的關係不大--忽略了目前它甚至不能用於在CUDA上訓練模型的事實。
總而言之,我想它對某些人來說似乎很有用,但對DL來說,我根本看不出有什麼意義....。

相關文章