可在瀏覽器端運(yùn)行的 Python來(lái)了!
文?| 局長(zhǎng)
出品 | OSC開源社區(qū)(ID:oschina2013)
大家好。
知名 Python 發(fā)行版 Anaconda 開發(fā)商近日宣布了可在瀏覽器端運(yùn)行的 Python —— PyScript。

根據(jù)官方的介紹,PyScript 是一個(gè)開發(fā)框架,為開發(fā)者提供了在標(biāo)準(zhǔn) HTML 中嵌入編寫 Python 代碼的能力、使用 Python 調(diào)用 JavaScript 函數(shù)庫(kù),以及創(chuàng)建 Python Web 應(yīng)用。
PyScript 旨在提供“一等公民(first-class)”的編程語(yǔ)言,它具有一致的風(fēng)格化規(guī)則、更具表現(xiàn)力且更易于學(xué)習(xí)。
PyScript 示例代碼
<py-script>
"Hello World"
py-script>
<py-script src="/my_own_file.py">py-script>
<py-env>
- bokeh
- numpy
- paths:
- /utils.py
py-env>
PyScript 核心特性
Python in the browser:啟用 drop-in content、外部文件托管(基于?Pyodide?項(xiàng)目),以及不依賴服務(wù)器端配置的應(yīng)用程序托管 Python 生態(tài):提供流行的 Python 和科學(xué)計(jì)算軟件包(例如 numpy, pandas, scikit-learn 等) Python with JavaScript:在 Python 和 JavaScript 對(duì)象和命名空間之間進(jìn)行雙向通信 環(huán)境管理:開發(fā)者可定義要引入哪些包和文件,以便頁(yè)面代碼的運(yùn)行 可視化應(yīng)用開發(fā):開發(fā)者可使用現(xiàn)成的 UI 組件,如按鈕、容器、文本框等 靈活的框架:開發(fā)者可以利用它在 Python 中直接創(chuàng)建和分享新的可插拔和可擴(kuò)展的組件
PyScript 目標(biāo)
提供干凈簡(jiǎn)單的 API 支持標(biāo)準(zhǔn) HTML 擴(kuò)展 HTML 以讀取穩(wěn)定且可靠的自定義組件 提供可插拔、可擴(kuò)展的組件系統(tǒng)
PyScript 基于 Pyodide 構(gòu)建,Pyodide 由編譯成 WebAssembly 的 CPython 3.8 解釋器組成,允許在網(wǎng)頁(yè)瀏覽器中運(yùn)行 Python。
Pyodide 可以安裝來(lái)自 PyPi 的任何 Python 包。Pyodide 還包括一個(gè)外部函數(shù)接口,可以將 Python 包暴露給 JavaScript,并將瀏覽器 UI,包括 DOM,暴露給 Python。

關(guān)于 PyScript 運(yùn)行原理的更多信息查看:https://engineering.anaconda.com/2022/04/welcome-pyscript.html
