ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ PyScript Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для выполнСния Python-скриптов Π² web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ PyScript, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² web-страницы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, написанныС Π½Π° языкС Python, ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Python ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ web-прилоТСния. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ прСдоставляСтся доступ ΠΊ DOM ΠΈ интСрфСйс для Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ взаимодСйствия с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ JavaScript. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ сохраняСтся, Π° отличия сводятся ΠΊ возмоТности использования языка Python вмСсто JavaScrpt. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты PyScript Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Brython, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Python-ΠΊΠΎΠ΄ Π² JavaScript, Π² PyScript для выполнСния Python-ΠΊΠΎΠ΄Π° примСняСтся Pyodide — выполняСмый Π½Π° сторонС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎΡ€Ρ‚ CPython, скомпилированный Π² WebAssembly. ИспользованиС Pyodide позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ совмСстимости с Python 3 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС возмоТности языка ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСний, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ numpy, pandas ΠΈ scikit-learn. Π‘ΠΎ стороны PyScript прСдоставляСтся прослойка для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Python-ΠΊΠΎΠ΄Π° с JavaScript, вставки ΠΊΠΎΠ΄Π° Π² web-страницы, ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ прСдоставляСтся Π½Π°Π±ΠΎΡ€ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² (ΠΊΠ½ΠΎΠΏΠΊΠΈ, тСкстовыС Π±Π»ΠΎΠΊΠΈ ΠΈ Ρ‚.ΠΏ.) для создания web-интСрфСйса Π½Π° Python.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ PyScript Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для выполнСния Python-скриптов Π² web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅

ИспользованиС PyScript сводится ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ скрипта pyscript.js ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй pyscript.css, послС Ρ‡Π΅Π³ΠΎ появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° страницы Python-ΠΊΠΎΠ΄Π°, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π³Π° <py-script>, ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Π³ <py-script src=…>. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСтся Ρ‚Π΅Π³ <py-repl> с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ срСды для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠ΄Π° (REPL). Для опрСдСлСния ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ модулям примСняСтся Ρ‚Π΅Π³ «<py-env>». <html> … <py-script> print(‘Hello World!’) </py-script> <py-env> — numpy — matplotlib — paths: — /data.py </py-env> <py-script src=»./test.py»></py-script> … </html>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ