번역: Pyodide를 사용해 파이썬으로 번역하기
Pyodide는 WebAssembly(WASM)로 컴파일된 파이썬 런타임입니다. @dalbit-yaksok/pyodide 패키지를 사용하면 달빛약속 코드 안에서 파이썬 코드를 직접 실행하고, 파이썬의 풍부한 생태계를 활용할 수 있습니다.
설치
@dalbit-yaksok/pyodide 패키지를 설치합니다.
bash
deno install jsr:@dalbit-yaksok/pyodide사용법
@dalbit-yaksok/pyodide 패키지는 Pyodide 클래스를 제공합니다. 인스턴스를 생성할 때 필요한 파이썬 패키지 목록을 전달할 수 있습니다.
typescript
import { YaksokSession } from '@dalbit-yaksok/core'
import { Pyodide } from '@dalbit-yaksok/pyodide'
const session = new YaksokSession()
// 필요한 경우 numpy 등 외부 패키지를 로드할 수 있습니다.
const pyodide = new Pyodide(['numpy'])
await session.extend(pyodide)기본 예제
번역(Python) 키워드를 사용하여 파이썬 함수를 정의하고 호출할 수 있습니다.
yak
번역(Python), (개수)개의 난수 생성하기
***
import random
return [random.random() for _ in range(개수)]
***
(5)개의 난수 생성하기 보여주기약속에서 전달된 인자는 자동으로 파이썬의 데이터 타입으로 변환되며, 파이썬에서 반환된 값 역시 약속의 데이터 타입으로 자동 변환됩니다.
특징
보안 및 격리
Pyodide는 격리된 환경에서 실행됩니다
Pyodide는 시스템(파일 시스템, 네트워크 등)과 격리된 WebAssembly 환경에서 실행됩니다. 따라서 시스템의 민감한 자원에 직접 접근하는 것은 제한될 수 있습니다.
환경 호환성
Pyodide 확장은 Deno와 같은 서버 사이드 환경뿐만 아니라, 웹 브라우저 환경에서도 동일하게 작동합니다. 브라우저에서 실행될 때는 별도의 파이썬 설치 없이도 웹 어셈블리를 통해 파이썬 코드가 실행됩니다.
표준 출력 연결
파이썬 코드 내에서 print() 함수를 사용하면, 해당 출력은 달빛약속의 보여주기 시스템을 통해 출력됩니다. 이를 통해 파이썬 코드의 실행 과정을 약속의 출력 창에서 쉽게 확인할 수 있습니다.