# RustPython - Rust로 작성된 파이썬 인터프리터

> Clean Markdown view of GeekNews topic #13254. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=13254](https://news.hada.io/topic?id=13254)
- GeekNews Markdown: [https://news.hada.io/topic/13254.md](https://news.hada.io/topic/13254.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-02-08T09:44:15+09:00
- Updated: 2024-02-08T09:44:15+09:00
- Original source: [rustpython.github.io](https://rustpython.github.io/)
- Points: 9
- Comments: 2

## Topic Body

- Rust로 작성된 오픈소스 파이썬 3(CPython >= 3.11.0) 인터프리터  
- Rust 프로그램에 내장하여 사용하거나, 웹 브라우저에서 파이썬을 실행하기 위해 WebAssembly로 컴파일 가능함  
- MIT 라이선스   
  
### 목표  
  
- Rust만을 사용하여 완전한 파이썬 3 환경을 구현함 (CPython 바인딩 없음).  
- Rust에서 사용하거나 WebAssembly로 컴파일할 수 있는 빠르고, 신뢰성 있으며, 안전한 파이썬 구현을 목표로 함  
  
### RustPython의 장점  
  
- 다양한 파이썬 구현체가 존재하지만, RustPython은 Rust 프로그래밍 언어를 위한 것임  
- Jython과 IronPython이 각각 Java와 .NET과의 통합을 가능하게 한 것처럼, RustPython은 Rust와의 통합을 목표로 함  
- Rust의 최소 런타임 덕분에 WebAssembly로 컴파일하여 브라우저에서 파이썬 코드를 쉽게 실행할 수 있음  
  
### 설치 방법  
  
- `cargo install --git https://github.com/RustPython/RustPython`  
- `wapm install rustpython`  
- `conda install rustpython -c conda-forge`  
- 또는 소스에서 직접 빌드 가능함.  
  
### GN⁺의 의견  
  
- RustPython은 Rust의 안전성과 성능을 활용하여 파이썬 인터프리터를 새롭게 구현한 프로젝트임.  
- 기존 파이썬 구현체들과 달리 Rust 기반으로 작성되어, Rust와 파이썬의 통합을 강화하고 WebAssembly를 통한 웹상에서의 파이썬 실행을 가능하게 함.  
- 현재 개발 중인 프로젝트로, 파이썬 생태계에 새로운 가능성을 제시하며, Rust와 파이썬을 함께 사용하고자 하는 개발자들에게 흥미로운 대안이 될 수 있음.

## Comments



### Comment 22946

- Author: cosine20
- Created: 2024-02-08T21:19:28+09:00
- Points: 4

흥미로운 프로젝트긴 하지만, 제 생각엔 그렇게까지 유용할지는 아직 모르겠네요..   
앞에서도 언급되었지만 Jython과 IronPython도 결국 CPython의 버전을 따라가기 벅차서 아주 한정된 곳에서만 쓸만한 선택지가 되어버렸는데, 다른 사람들이 RustPython에 기대하는 부분을 만족시키려면 갈 길이 꽤 멀 거라고 생각합니다.

### Comment 22932

- Author: neo
- Created: 2024-02-08T09:44:15+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=39286458) 
- > "it can be compiled to WebAssembly in order to run Python in the browser."
  - 한 사용자는 CPython과 NodeJS를 이용한 유사한 접근법을 보았으며, 이 방식이 실용적이지 않다고 생각함.
  - 웹어셈블리(Wasm)로 컴파일된 런타임 위에서 파이썬 코드를 실행하는 것은 성능 저하를 두 번 겪게 됨.
  - 동적 타입 언어를 Wasm 런타임에서 실행하려면 언어가 직접 Wasm으로 컴파일되어야 함.
  - 프로젝트는 여전히 멋지고 유용하며, 브라우저에서 사용할 수 있는 파이썬 코드가 많음에도 불구하고 웹 프레임워크를 이런 방식으로 구축하려고 시도해서는 안 됨.
  - RustPython에 대한 성능 벤치마크를 진행하지 않았으며, RustPython이 알려지지 않은 몇 가지 트릭을 사용할 수도 있음을 인정함.

- 관련 링크들:
  - RustPython은 Rust로 작성된 Python 3 인터프리터로, 여러 시점에서 해커뉴스에 게시되어 다양한 댓글을 받음.

- MicroPython에 대한 긍정적인 의견:
  - 한 사용자는 MicroPython이 멋지다고 언급하며, RP2040에서 실행됨을 밝힘.

- RustPython에 대한 다양한 의견:
  - RustPython이 IronPython의 후속작이라고 생각하는 사용자가 있음.
  - 파이썬에 건강한 서드파티 인터프리터 커뮤니티가 있다는 것이 멋지다고 생각하는 사용자가 있음.
  - CPython과의 차이점을 드러내는 문제들에 대해 궁금해하는 사용자가 있음.
  - RustPython의 진전에 기쁨을 표하는 사용자가 있으며, Wasmer를 이용해 RustPython을 실행하는 방법을 공유함.

- RustPython의 한계에 대한 의견:
  - RustPython과 같은 프로젝트가 널리 적용될 수 있을지 확신하지 못하는 사용자가 있음.
  - Python의 가치는 네이티브 라이브러리와의 인터페이스에 있으며, PyPy와 같은 것을 사용하면 그 모든 접근성을 잃게 됨을 지적함.

- Jython과 IronPython에 대한 비판적인 의견:
  - Python 2가 사라진 지금, Python 3으로의 전환에 실패한 Jython과 IronPython은 언급할 가치가 없다고 주장하는 사용자가 있음.

- RustPython을 사용한 프로젝트 경험 공유:
  - 한 사용자는 RustPython을 인터넷 컴퓨터 프로토콜을 위한 파이썬 환경인 Kybra 프로젝트의 인터프리터로 사용하고 있으며, Wasm이 ICP의 런타임 환경임을 밝힘.
  - C 확장의 부재가 문제이지만, wasi와 C 확장 지원이 준비되면 CPython으로 이동할 계획임을 언급함.

- RustPython의 성능에 대한 비교:
  - 한 사용자는 RustPython이 CPython보다 약 11배 느리다는 것을 피보나치 수열 계산을 통해 확인하고 결과를 공유함.
