Python raylib → 網頁

讓你的 Python 遊戲 在網頁上執行。

Rayport 將 Python raylib 遊戲打包為可直接在瀏覽器執行的靜態檔案。不必另外安裝 raylib,也不用設定編譯器。

uv tool install rayport
main.py Python
from raylib import *

InitWindow(800, 600, b"Hello")

while not WindowShouldClose():
    BeginDrawing()
    ClearBackground(RAYWHITE)
    DrawText(b"Hello, web!", 260, 280, 32, RED)
    EndDrawing()
建置完成 dist/
HTMLJavaScriptWebAssembly
Python 遊戲+raylibRayport靜態網站

為什麼使用 Rayport

專心完成遊戲。瀏覽器版本交給 Rayport。

原始碼仍然是 Python。Rayport 準備瀏覽器執行環境、找出專案需要的檔案,並產生可發布到任何靜態網站服務的資料夾。

01

只要安裝一項工具

已內建 CPython 與 raylib 的瀏覽器執行環境。不必自行安裝 Emscripten 或編譯 raylib。

02

快速本機開發

開發伺服器會在專案檔案變更時重新建置,並立即於本機提供最新結果。

03

可攜式輸出

建置結果是一般的靜態網頁內容。不需要 Python 伺服器或應用程式後端。

04

理解專案的打包

Rayport 會追蹤匯入、加入專案資源與純 Python 相依套件,並說明哪些檔案會被打包。

開始使用

三個指令,從遊戲資料夾到瀏覽器。

Rayport 以 main.py 為進入點。影像、聲音、模組及其他檔案都可以留在原本的專案中。

1

安裝

安裝 Rayport 指令

使用 uv 將 Rayport 安裝為獨立的命令列工具。

uv tool install rayport
2

開發

在本機執行遊戲

從遊戲資料夾啟動開發伺服器。

rayport dev .
3

建置

產生靜態網站

將 dist/ 的內容上傳到任何靜態網站服務。

rayport build . --output dist
my-game/
├── main.py
├── rayport.toml
├── game/
│   ├── player.py
│   └── level.py
└── assets/
    ├── sprites.png
    └── music.ogg

選用設定

控制遊戲在瀏覽器中的呈現方式。

加入 rayport.toml,即可設定頁面標題、背景、呈現模式與打包規則。

[web]
title = "My Game"
presentation = "fit"
background = "#111114"
查看設定選項 →

遊戲範例

這就是 Rayport 的建置結果。

Breakout 使用 Python 與 raylib 製作,再由 Rayport 打包為靜態網頁檔案。

可直接遊玩 Breakout

使用滑鼠移動 · 按 R 重新開始

目前相容性

建置前先確認目前的支援範圍。

Rayport 命令列工具Python 3.13 與 3.14
瀏覽器執行環境CPython 3.12.11 · raylib 5.5
自動化瀏覽器測試Chromium
原生擴充套件WebAssembly 不支援

準備移植了嗎?

建立網頁版本。

uv tool install rayport