WebAssembly에서 실행되는 온라인 데모를 확인하십시오.
Rostpython은 Rust 최신 안정 버전 (예 : 2023 년 2 월 7 일 1.67.1)이 필요합니다. 현재 시스템에 Rust를 설치하지 않은 경우 Rustup.rs의 지침을 따라 할 수 있습니다.
현재 실행중인 Rust 버전을 확인하려면 rustc --version
사용하십시오. 업데이트하려면 rustup update stable
이 Rust 설치를 가장 최근의 안정적인 릴리스로 업데이트합니다.
로컬로 Rastpython을 구축하려면 먼저 소스 코드를 복제하십시오.
git clone https://github.com/RustPython/RustPython
그런 다음 Rostpython 디렉토리로 변경하여 데모를 실행할 수 있습니다 (참고 : -Windows의 스택 오버플로를 방지하려면 --release
필요합니다) : :
$ cd RustPython
$ cargo run --release demo_closures.py
Hello, RustPython !
또는 대화식 쉘 사용 :
$ cargo run --release
Welcome to rustpython
>>>>> 2+2
4
참고 : Windows 사용자의 경우 Project Directory의 Lib
경로로 RUSTPYTHONPATH
환경 변수를 설정하십시오. (예 : Rostpython 디렉토리가 C:RustPython
일 때, RUSTPYTHONPATH
C:RustPythonLib
로 설정합니다)
다음과 함께 Shordpython을 설치하고 실행할 수도 있습니다.
$ cargo install --git https://github.com/RustPython/RustPython
$ rustpython
Welcome to the magnificent Rust Python interpreter
>>>>>
HTTPS 요청을 원한다면 ssl
기능을 활성화하여 pip
패키지 관리자를 설치할 수 있습니다. Windows에서는 OpenSSL을 설치해야하거나 ssl-vendor
기능을 대신 사용하여 OpenSSL을 컴파일하지만 C 컴파일러, Perl 및 make
가 필요합니다. OpenSSL 버전 3은 CI에서 예상되고 테스트됩니다. 이전 버전은 작동하지 않을 수 있습니다.
SSL 지원으로 RostpyThon을 설치 한 후에는 다음을 수행하여 PIP를 설치할 수 있습니다.
cargo install --git https://github.com/RustPython/RustPython --features ssl
rustpython --install-pip
conda
패키지 관리자를 통해 Rastpython을 설치할 수도 있지만 공식적으로 지원되지 않으며 구식이 아닙니다.
conda install rustpython -c conda-forge
rustpython
ShordpyThon을 독립형 WebAssembly WASI 모듈로 컴파일하여 어디서나 실행할 수 있습니다.
짓다
cargo build --target wasm32-wasi --no-default-features --features freeze-stdlib,stdlib --release
Wasmer가 운영합니다
wasmer run --dir ` pwd ` -- target/wasm32-wasi/release/rustpython.wasm ` pwd ` /extra_tests/snippets/stdlib_random.py
WAPM에 의해 실행됩니다
$ wapm install rustpython
$ wapm run rustpython
>>>>> 2+2
4
WebAssembly WASI 파일을 다음과 같이 빌드 할 수 있습니다.
cargo build --release --target wasm32-wasi --features= " freeze-stdlib "
참고 :
freeze-stdlib
사용하여 이진 안에 표준 라이브러리를 포함합니다.rustup target add wasm32-wasi
일단 실행해야합니다.
Rostpython에는 Python 기능을 기본 코드로 컴파일하는 매우 실험적인 JIT 컴파일러가 있습니다.
기본적으로 JIT 컴파일러는 활성화되지 않으며 jit
화물 기능으로 활성화됩니다.
cargo run --features jit
이를 위해서는 Autoconf, Automake, Libtool 및 Clang을 설치해야합니다.
함수를 컴파일하려면 __jit__()
호출하십시오.
def foo ():
a = 5
return 10 + a
foo . __jit__ () # this will compile foo to native code and subsequent calls will execute that native code
assert foo () == 15
Rust의 Compile Time이 억제되는 위치에 빠르게 조정하는 논리를 허용하기 위해 Rust로 작성된 응용 프로그램에 Python 스크립팅을 노출시키는 데 관심이 있습니까? 그런 다음 examples/hello_embed.rs
및 examples/mini_repl.rs
도움이 될 수 있습니다.
Rostpython은 개발 중이며, 통역사는 확실히 WASM에서 Python을 실행하고 Rust 프로젝트에 삽입하는 것과 같은 흥미로운 사용 사례에 사용될 수 있지만 Rastpython은 완전히 생산 준비가되어 있지 않습니다.
기부금은 환영하는 것 이상입니다! 자세한 내용은 기여 섹션을 참조하십시오.
회의에서 대화를 확인하십시오.
Rostpython은 상당히 젊은 프로젝트이지만, 소수의 사람들은 멋진 프로젝트를 만들기 위해 사용했습니다.
현재 프로젝트의 다른 영역과 함께 문서는 여전히 초기 단계에 있습니다.
최신 릴리스의 온라인 설명서 또는 사용자 안내서를 읽을 수 있습니다.
실행을 통해 로컬로 문서를 생성 할 수도 있습니다.
cargo doc # Including documentation for all dependencies
cargo doc --no-deps --all # Excluding all dependencies
문서화 HTML 파일은 target/doc
디렉토리에서 찾을 수 있거나 이전 명령에 --open
추가하여 기본 브라우저에서 문서를 자동으로 열도록 할 수 있습니다.
구성 요소에 대한 높은 수준의 개요는 아키텍처 문서를 참조하십시오.
기부금은 환영받는 것 이상이며, 많은 경우에 우리는 PRS 또는 불화를 통해 기고자를 안내하게되어 기쁩니다. 개발에 대한 팁은 개발 안내서를 참조하십시오.
이를 염두에 두고이 프로젝트는 자원 봉사자들이 유지 관리합니다. 시작하는 가장 좋은 방법 중 일부는 다음과 같습니다.
대부분의 작업은 문제 추적기에 나열되어 있습니다. 코딩을 시작하려면 첫 번째 문제로 표시된 문제를 확인하십시오.
Cpython 호환성을 향상 시키려면이 기사를 확인하여 Unittest 적용 범위를 늘리십시오 : Cpython Unittest의 Rastpython에 기여하는 방법
또 다른 방법은 소스 코드를 확인하는 것입니다. 내장 함수 및 객체 방법은 종종 가장 간단하고 가장 쉬운 방법입니다.
구현되지 ./whats_left.py
방법을 찾는 데 도움이되도록 간단히 실행할 수도 있습니다.
이 문서를 참조하십시오
불화로 우리와 채팅하십시오.
우리의 행동 강령은 여기에서 찾을 수 있습니다.
초기 작업은 Windelbouwman/rspython 및 Shingyu/Rostpython을 기반으로했습니다
이들은 관련 프로젝트에 대한 유용한 링크입니다.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
프로젝트 로고는 CC-By-4.0 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 License-Logo 파일을 참조하십시오.