PyScript ํ”„๋กœ์ ํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

Python์œผ๋กœ ์ž‘์„ฑ๋œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์›น ํŽ˜์ด์ง€์— ํ†ตํ•ฉํ•˜๊ณ  Python์—์„œ ๋Œ€ํ™”ํ˜• ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” PyScript ํ”„๋กœ์ ํŠธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” DOM์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ๊ณผ JavaScript ๊ฐœ์ฒด์™€์˜ ์–‘๋ฐฉํ–ฅ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋…ผ๋ฆฌ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋˜๋ฉฐ ์ฐจ์ด์ ์€ JavaScrpt ๋Œ€์‹  Python ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. PyScript ์†Œ์Šค ์ฝ”๋“œ๋Š” Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

Python ์ฝ”๋“œ๋ฅผ JavaScript๋กœ ์ปดํŒŒ์ผํ•˜๋Š” Brython ํ”„๋กœ์ ํŠธ์™€ ๋‹ฌ๋ฆฌ PyScript๋Š” WebAssembly๋กœ ์ปดํŒŒ์ผ๋œ CPython์˜ ๋ธŒ๋ผ์šฐ์ € ์ธก ํฌํŠธ์ธ Pyodide๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Python ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. Pyodide๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Python 3๊ณผ์˜ ์™„์ „ํ•œ ํ˜ธํ™˜์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ณ  numpy, pandas ๋ฐ scikit-learn๊ณผ ๊ฐ™์€ ๊ณผํ•™ ์ปดํ“จํŒ…์„ ํฌํ•จํ•˜์—ฌ ์–ธ์–ด ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PyScript ์ธก์—๋Š” Python ์ฝ”๋“œ๋ฅผ JavaScript์™€ ํ†ตํ•ฉํ•˜๊ณ , ์›น ํŽ˜์ด์ง€์— ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ , ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ค๊ณ , ์ž…๋ ฅ/์ถœ๋ ฅ์„ ๊ตฌ์„ฑํ•˜๊ณ , ๊ธฐํƒ€ ๊ด€๋ จ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์–ด๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” Python์—์„œ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์œ„์ ฏ ์„ธํŠธ(๋ฒ„ํŠผ, ํ…์ŠคํŠธ ๋ธ”๋ก ๋“ฑ)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

PyScript ํ”„๋กœ์ ํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

PyScript๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด pyscript.js ์Šคํฌ๋ฆฝํŠธ์™€ pyscript.css ์Šคํƒ€์ผ ์‹œํŠธ๋ฅผ ์—ฐ๊ฒฐํ•œ ํ›„ ํƒœ๊ทธ ๋‚ด๋ถ€์— ์žˆ๋Š” Python ์ฝ”๋“œ๋ฅผ ํŽ˜์ด์ง€์— ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. ๋˜๋Š” ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์—ฐ๊ฒฐ . ํ”„๋กœ์ ํŠธ๋Š” ํƒœ๊ทธ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ์ฝ”๋“œ ์‹คํ–‰(REPL) ํ™˜๊ฒฝ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ •์˜ํ•˜๋ ค๋ฉด " ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. " ... print('์•ˆ๋…•ํ•˜์„ธ์š”!') - numpy - matplotlib - ๊ฒฝ๋กœ: - /data.py ...

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€