Programming/Python

[PyScript] html에서 파이썬 코드 실행하는 프레임워크

mj73 2022. 5. 23. 16:53

https://github.com/pyscript/pyscript

깃허브 주소

 

GitHub - pyscript/pyscript: Home Page: https://pyscript.net Examples: https://pyscript.net/examples

Home Page: https://pyscript.net Examples: https://pyscript.net/examples - GitHub - pyscript/pyscript: Home Page: https://pyscript.net Examples: https://pyscript.net/examples

github.com

 

 

전체코드

<html>
  <head>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
  </head>
  <body> <py-script> print('Hello, World!') </py-script> </body>
</html>

 

 

사용법

1. html의 head태그에 아래 코드 추가

<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>

 

2. body태그 안에 <py-script> 태그를 사용해서 python 사용

 

3. 1) python 패키지 사용은 <py-env> 태그

<head>
  <py-env>
	- numpy
    - matplotlib
  </py-env>
</head>

2) 혹은, <py-script>태그의 src 속성 이용

<body>
  <py-script src="./main.py">
  </py-script>
</body>

 

 

작동원리

PyScript는 Pyodide와 WebAssembly로 작동함.

(Pyodide: python인터프리터이지만 WebAssembly로 컴파일 된 것)

 

python은 기본적으로 WebAssembly을 사용하는데 

py-script는 WebAssembly(.wasm)로 파이썬 인터프리터를 동작하는 원리이다

파이썬 인터프리터를 통채로 심었다고 보면 된다.

 

 

 

 

아직 개발 단계에 있어서 프레임워크가 안정적이지는 못하다는 단점이 존재함.

그러나 웹 상에서 파이썬 코드를 실행할 수 있는 원리가 다른 프레임워크처럼 js로 빌드되는 것이 아니라는 점에서 매우 신기하다. python으로 프론트엔드와 백엔드를 모두 개발할 수 있을 거라는 기대감이 있음.