精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用 Rust 給 Python 裝上渦輪

開發 前端
技術棧選擇,往往不是把“最快的”或“最安全的”簡單疊加,而是把“合適的工具放到合適的地方”。Python 是那張寬大的桌布,大家把各種數據、模型、腳本放在上面;Rust 則可以是一把鋒利的刀,切割那些需要精度與效率的部分。把刀放在桌布上,用得好,是一件舒服的事。

寫這篇東西的時候,我總覺得 Python 和 Rust 的組合像是一杯調好的咖啡:Python 是那股溫熱、容易入口的口感,Rust 則像濃縮的那一小杯,加進來之后既提神又讓人清醒。兩者結合,有時候不是“取代”,而是“補強”。下面把這個過程講清楚:為什么要用 Rust 為 Python 寫擴展、什么時候用、需要裝什么、動手步驟(Windows / mac 分別說明),順帶聊聊 Rust 的獨特性與對未來的想像。

為什么用 Rust 給 Python 寫擴展?使用場景是什么

先說一個老生常談的事實:Python 很好寫、生態豐富、開發速度快,但在某些性能邊界上無可避免會吃虧——比如大量數值計算、密集字符串處理、熱路徑的序列化/反序列化、或者需要并發且對內存安全要求高的底層組件。常見場景包括:

  • 熱點函數需要加速(替換純 Python 實現)以減少延遲或提高吞吐。
  • 處理二進制協議、快速序列化/反序列化(比如自定義傳輸層)。
  • 與 C/C++ 庫交互,但想避開 C 的未定義行為和內存錯誤。
  • 將關鍵模塊編譯成二進制 wheel 發布到 PyPI,實現跨平臺加速。
  • 提高關鍵代碼的防反編譯能力

在這些場景下,Rust 提供了“接近 C 的性能 + 更強的內存安全保障”的選項。把性能敏感的部分用 Rust 寫成 Python 擴展,既能保留 Python 的開發效率,又能在關鍵路徑上獲得顯著提升。許多項目選擇 PyO3 + maturin 作為常用工具鏈來完成這件事(下面會詳細演示)。這條路徑既能本地調試,也方便打包成 wheel 發布。

先準備什么(環境與工具)

無論 Windows 還是 mac,通用前置:

  • Rust:通過 rustup 安裝(獲得 cargo、rustc)。
  • Python:建議使用官方 CPython(或 pyenv/venv 管理虛擬環境)。
  • PyO3:Rust → Python 的綁定庫(作為 Rust 依賴)。
  • maturin:構建與打包工具,負責把 Rust crate 編成 Python wheel,并支持 maturin develop 直接在虛擬環境中安裝調試版。

下面分別講 Windows / mac 的細節。

Windows 上需要額外注意的東西

  • Visual C++ Build Tools(即 Visual Studio 的 C++ 工具鏈)——Rust 的默認 MSVC 工具鏈需要這個來編譯擴展;如果使用 GNU toolchain(MSYS2),也需要相應環境,但大多數人更簡單的方式是安裝 Visual Studio Build Tools(C++)。安裝 Visual Studio 的“Desktop development with C++”或單獨安裝“Build Tools for Visual Studio”。
  • Python 的開發頭文件:通常官方的 Python 安裝已經包含;使用虛擬環境(venv)調試時要保證 python.exe 在 PATH,并且可以被 maturin 找到。

典型安裝流程(Windows):

# 1. 安裝 Rust(PowerShell)
winget install --id=RustLang.Rustup -e
# or use the official rustup-init.exe from rust-lang.org

# 2. 安裝 Visual Studio Build Tools(手動下載安裝器并選擇 C++ 工作負載)

# 3. 建議使用虛擬環境
python -m venv .venv
.\.venv\Scripts\activate.bat

# 4. 安裝 maturin(推薦通過 pip)
pip install maturin

macOS 上需要額外注意的東西

  • Xcode Command Line Tools(xcode-select --install),用于編譯工具鏈。
  • 如果用 Homebrew 安裝 Python,注意虛擬環境路徑與系統 Python 的區別。 ?

典型安裝流程(mac):

# 1. 安裝 rustup (Terminal)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 2. 安裝 Xcode command line tools
xcode-select --install

# 3. 創建并激活 Python 虛擬環境
python3 -m venv .venv
source .venv/bin/activate

# 4. 安裝 maturin
pip install maturin

一個最小 Demo:從 0 到能在 Python 中調用的 Rust 函數

我們用 maturin 來初始化項目(maturin 會生成合適的 pyproject.toml / Cargo.toml 布局),這也是官方推薦的快速路徑。示例步驟:

  1. 新建項目并進入目錄:
maturin init --name py_rust_demo --bindings pyo3
cd py_rust_demo

maturin init 會創建一個基本項目結構:Cargo.toml、src/lib.rs、pyproject.toml 和 python/ 文件夾(用于放 Python 側的 shim、測試等)。

  1. 編輯 Cargo.toml(maturin 生成的已接近可用,關鍵點是依賴 pyo3 并啟用 extension-module 特性):
[package]
name = "py_rust_demo"
version = "0.1.0"
edition = "2021"

[lib]
# 必要:告訴 Rust 生成 cdylib(C 動態庫)以供 Python 加載
crate-type = ["cdylib"]

[dependencies]
pyo3 = { version = "0.18", features = ["extension-module"] }
# 版本號會隨著時間變動,上面只是示例。真實項目請參考 PyO3 文檔。 [oai_citation:4?PyO3](https://pyo3.rs/v0.26.0/features.html?utm_source=chatgpt.com)

注:如果想制作兼容多 Python 版本的單個 wheel,可以考慮 abi3 特性,這需要在 pyo3 與 maturin 的配置里做額外設置(可查官方文檔)。

  1. 在 src/lib.rs 寫代碼,暴露給 Python 的接口非常直觀:
use pyo3::prelude::*;

/// 一個簡單的加法函數
#[pyfunction]
fn add(a: i64, b: i64) -> PyResult<i64> {
    Ok(a + b)
}

/// 初始化模塊,模塊名與 Cargo.toml 中設置的 `name` 相同
#[pymodule]
fn py_rust_demo(py: Python, m: &PyModule) -> PyResult<()> {
    m.add_function(wrap_pyfunction!(add, m)?)?;
    Ok(())
}
  1. 在虛擬環境中本地快速安裝并測試:

在項目根目錄下執行:

maturin develop     # 在當前虛擬環境中構建并安裝(便于開發調試)

執行上條命令后,你可以在 Python 里直接:

import py_rust_demo
print(py_rust_demo.add(2, 3))  # 輸出 5
  1. 打包成 wheel(用于發布)
maturin build --release
# 打包好的 wheel 在 target/wheels 目錄下,之后可以 pip install path/to/wheel.whl

這套流程負責了從源碼到可安裝 wheel 的全鏈路,maturin 也封裝了很多平臺差異,使得打包變得相對輕松。

常見問題與小貼士:

調試:maturin develop 非常適合在開發虛擬環境中迭代;每改完 Rust 代碼,重新運行 maturin develop(或用 cargo build + 手動拷貝)即可。

類型轉換:PyO3 提供了 PyObject / PyAny 等與 Python 對象互操作的方式,復雜數據(如 numpy arrays)通常通過 pyo3-ndarray 或者通過緩沖區(buffer protocol)來高效交互。

ABI 兼容:如果想做單個 wheel 支持多個 Python 版本,研究 abi3;但要注意 ABI 限制(只能使用有限的 Python C API)。

生成 stub(類型提示):PyO3 / maturin 目前不會自動生成 .pyi 完整 stub 文件,若希望 IDE 提示良好,通常需手動維護或借助額外工具。

Rust 的獨特之處(為什么它適合做擴展)

把 Rust 放在“編寫 Python 擴展”的位置上,并不是偶然的。它的幾條核心特性直接契合了擴展開發的需求:

1.所有權與借用系統(Ownership / Borrowing):在編譯期保證內存安全,減少很多運行期常見的內存錯誤(懸垂指針、雙重釋放)。這讓編寫與 Python 交互的本地代碼更可控。

2.零成本抽象(Zero-cost abstractions):高級抽象(迭代器、閉包等)在不犧牲性能的情況下使用,對寫高性能邏輯非常友好。

3.并發安全:Rust 的類型系統能幫助你在編譯時發現數據競爭問題,適合寫并發/異步熱路。

4.優秀的 FFI 支持:Rust 能很好地與 C ABI 交互,PyO3 則把這層工作做成了 proc-macro,讓我們可以用“Rust 風格”的函數直接暴露成 Python 接口。

總結一句話:Rust 把“靠近機器的速度”和“編譯時的安全保障”放到了同一個包里,這就是它適合寫 Python 擴展的根本原因。

對 Python 與 Rust 結合的展望

漸進式遷移:項目保持 Python 主體,先把熱點模塊用 Rust 重寫,再逐步擴大適配范圍。這樣既能快速見效,也避免一次性大重構的風險。

生態互通更好:未來工具鏈(比如 maturin、PyO3)會繼續打磨體驗,自動生成類型信息、支持更多平臺的 prebuilt wheels,并在 CI/CD 上與多 Python 版本適配得更順暢。現在就已經有很多項目把 Rust 寫的核心模塊打包成 wheel 發布到 PyPI。

領域擴展:在機器學習、數據處理、網絡/序列化庫、數據庫驅動、科學計算這類對性能有硬需求的領域,Rust + Python 會越來越常見。另一方面,Rust 的生態也會逐步在 WebAssembly、嵌入式等方向與 Python 互通(比如在瀏覽器邊緣計算場景中用 WASM 編寫核心邏輯,然后由 Python 驅動業務層)。

工具鏈便捷化:愿望之一是:寫 Python 時能像寫 Python 一樣“順手”地調用 Rust,IDE 能感知并提供同樣的自動補全與類型提示;這需要更好的 stub 生成與編輯器集成支持。

結語

技術棧選擇,往往不是把“最快的”或“最安全的”簡單疊加,而是把“合適的工具放到合適的地方”。Python 是那張寬大的桌布,大家把各種數據、模型、腳本放在上面;Rust 則可以是一把鋒利的刀,切割那些需要精度與效率的部分。把刀放在桌布上,用得好,是一件舒服的事。

責任編輯:武曉燕 來源: Python七號
相關推薦

2024-09-29 17:30:36

數據飛輪數據中臺數字化轉型

2021-08-05 16:25:37

Windows 11Windows微軟

2017-11-07 11:40:40

iPhone XHome鍵蘋果

2025-09-28 00:00:01

RustPython語言

2023-06-19 14:14:24

Rust程序Web

2020-10-22 14:10:34

VS CodePython開發

2021-11-08 10:15:50

代碼Windows 11Windows

2025-06-27 08:23:43

2021-02-24 07:42:34

PythonRust語言

2021-12-23 10:20:12

Windows 11代碼Windows

2011-08-31 10:22:58

2021-05-09 18:04:05

Python母親祝福

2024-06-04 10:49:05

Rust插件開發工具

2024-05-17 09:49:44

RustCursive界面

2024-06-12 08:00:07

2024-05-29 07:56:22

2022-03-10 17:02:51

Rust單鏈表數據結構
點贊
收藏

51CTO技術棧公眾號

91导航在线观看| 国产精品亚洲αv天堂无码| 成人福利小视频| 99这里有精品| 中文字幕亚洲欧美一区二区三区| 国产成人黄色网址| 日本在线视频网址| 久久久久国产一区二区三区四区| 国产精品网址在线| 日本三级片在线观看| 成人午夜av| 欧美精品一区二区三区蜜臀| 黄色一级二级三级| 国产经典三级在线| 国产精品家庭影院| 久久av免费观看| 国产日韩精品suv| 久久午夜激情| 久久99精品久久久久久琪琪| av黄色在线免费观看| 日韩一区网站| 欧美在线制服丝袜| 国产主播自拍av| 国产黄色在线免费观看| 久久久精品黄色| 久久66热这里只有精品| 精品人妻伦一区二区三区久久 | 99久久久无码国产精品| 国产美女高潮久久白浆| 你懂的国产在线| 亚洲网站啪啪| 久久的精品视频| 久久免费手机视频| 国产一区二区三区四区大秀| 337p日本欧洲亚洲大胆色噜噜| 亚洲va在线va天堂va偷拍| 深夜成人影院| 日韩欧美成人网| 一女被多男玩喷潮视频| 操喷在线视频| 亚洲一区在线观看免费 | 99热这里只有成人精品国产| 欧美乱大交xxxxx另类电影| 中文字幕第69页| 日韩理论电影大全| 中文字幕免费精品一区| 欧美 日韩 成人| 免费观看久久av| 亚洲美女视频网| 日本免费福利视频| 欧美做受69| 日韩电影在线观看中文字幕 | 中文字幕 久热精品 视频在线| 欧美福利一区二区三区| 久久久久久青草| 久久网站最新地址| 欧美污视频久久久| av电影在线观看| 18欧美亚洲精品| 99精品视频网站| 中文字幕在线三区| 亚洲制服丝袜在线| 精品无码一区二区三区在线| 国产传媒av在线| 天天色天天操综合| 国产视频一区二区三区在线播放| 国产 日韩 欧美一区| 欧美日韩国产bt| 成人免费黄色av| 高清精品xnxxcom| 日韩黄色av网站| 色婷婷在线影院| 久久精品国产大片免费观看| 久久精品人人做人人爽| 九九热精彩视频| 免费一级欧美片在线播放| 青草成人免费视频| 亚洲一区 中文字幕| 国产毛片精品视频| 久久精品国产综合精品| 成人在线免费看| 亚洲免费观看视频| 日本毛片在线免费观看| 少妇精品视频一区二区免费看| 欧美日韩黄色一区二区| 少妇欧美激情一区二区三区| 久久精品福利| 色噜噜久久综合伊人一本| 美女福利视频在线观看| 国产日韩欧美在线播放不卡| 国产欧美日韩中文字幕| 人人妻人人澡人人爽久久av| 国产欧美视频一区二区三区| 视色,视色影院,视色影库,视色网| 午夜激情电影在线播放| 欧美精选午夜久久久乱码6080| 国产精品一区二区在线免费观看| 猛男gaygay欧美视频| 欧美大奶子在线| 麻豆精品久久久久久久99蜜桃| 精品一区二区三区在线观看国产 | 日韩成人a**站| 欧美精品18videos性欧| 中文字幕一区二区三区人妻四季 | 欧美韩日亚洲| 精品视频在线免费观看| 国产精品手机在线观看| 欧美成人激情| 国产精品18久久久久久麻辣| 亚洲女人18毛片水真多| 国产精品乱码人人做人人爱| 91专区在线观看| 经典三级久久| 一区二区三区视频免费在线观看| 国产精品9191| 国产剧情一区在线| 亚洲图片在线观看| 欧美专区福利免费| 日韩精品在线看| 国产无精乱码一区二区三区| 韩国av一区二区| 色阁综合av| 欧美亚洲韩国| 亚洲免费电影在线观看| 青青操免费在线视频| 国产91丝袜在线观看| 五月天av影院| 色综合一区二区日本韩国亚洲| 亚洲精品自在久久| 国产在线视频第一页| 国产一区视频在线看| 一级二级三级欧美| 992tv国产精品成人影院| 亚洲三级av在线| 久久久久女人精品毛片九一| 99久久婷婷国产| 国自产拍偷拍精品啪啪一区二区| 欧美激情三级| 久久99精品久久久久久青青91| 91在线视频国产| 亚洲色图视频网| 亚洲第一区第二区第三区| 99久久精品费精品国产| 国产女同一区二区| 免费黄色在线网站| 69av一区二区三区| 永久看片925tv| 国产成人免费xxxxxxxx| 996这里只有精品| youjizz亚洲| 性欧美长视频免费观看不卡| 色噜噜在线播放| 激情亚洲一区二区三区四区| 手机在线成人av| 国产精品日本欧美一区二区三区| 九九九九九九精品| 345成人影院| 一区二区三区美女xx视频| 中文字幕在线观看精品| 亚洲免费电影在线| 麻豆tv在线观看| 99国产精品视频免费观看一公开| 九九九九精品| 69堂精品视频在线播放| 久久久国产视频91| www.97av.com| 疯狂蹂躏欧美一区二区精品| 中文字幕免费视频| 久久精品国产一区二区三| 爱爱爱视频网站| 91在线一区| 欧美中文在线视频| 最新97超碰在线| 日韩久久精品一区| 中文字幕第四页| 综合网在线视频| 亚洲精品国产成人av在线| 久久一区亚洲| 国产成人精品免费看在线播放| 亚洲一区二区三区四区电影| 5566日本婷婷色中文字幕97| a视频网址在线观看| 日韩天堂在线观看| 亚洲欧美综合另类| 亚洲欧美一区二区三区极速播放| 88av在线播放| 久久精品99国产精品| 99在线免费视频观看| 欧美精品乱码| 国产不卡一区二区在线观看 | 国产日韩欧美高清免费| 一本久道久久综合狠狠爱亚洲精品| 亚洲精品午夜| 国产成人精品免费久久久久| 亚洲性图自拍| 一区二区福利视频| 婷婷久久久久久| 欧美疯狂做受xxxx富婆| 超碰超碰超碰超碰| 一区二区三区影院| 国内精品卡一卡二卡三| 成人国产一区二区三区精品| 日本中文字幕精品—区二区| 999亚洲国产精| 艳母动漫在线观看| 成久久久网站| 久久亚洲高清| 中文在线综合| 亚洲一区二区免费在线| 亚洲wwww| 午夜精品免费视频| 欧美xxxx做受欧美88bbw| 日韩中文字幕精品| 青梅竹马是消防员在线| 亚洲精品一线二线三线| 国产男男gay网站| 欧美亚洲丝袜传媒另类| 久久一区二区三区视频| 亚洲国产成人porn| 久久久精品国产sm调教网站| 国产精品高潮呻吟| 摸摸摸bbb毛毛毛片| 久久综合资源网| 人妻 日韩 欧美 综合 制服| 国产精品自在在线| 91网址在线观看精品| 免费成人av资源网| 国产精品无码av无码| 国产女优一区| 9久久9毛片又大又硬又粗| 亚洲婷婷在线| 国产色一区二区三区| 国产精品chinese| 热久久最新网址| 综合五月婷婷| 91精品国产毛片武则天| 亚洲第一偷拍| 成人免费看片视频在线观看| 999视频精品| 久久久一二三四| 久久精品国内一区二区三区水蜜桃 | 18欧美乱大交hd1984| 一级免费黄色录像| 中文字幕一区二区三区四区| 成人18视频免费69| 亚洲日本va在线观看| 顶级黑人搡bbw搡bbbb搡| 国产精品乱码久久久久久| 成人三级视频在线观看| 亚洲欧美日韩精品久久久久| 四虎永久免费在线| 又紧又大又爽精品一区二区| 免费中文字幕视频| 亚洲线精品一区二区三区| 欧美三日本三级少妇99| 欧美日韩午夜剧场| 亚洲午夜无码久久久久| 欧美日韩国产美女| www.天堂av.com| 精品国产成人系列| 蝌蚪视频在线播放| 久久精品91久久久久久再现| 成码无人av片在线观看网站| 欧美日本亚洲视频| 国产精品yjizz视频网| 日本成人黄色片| 日本成人在线网站| 国产超碰91| 亚洲小说图片| 精品国产无码在线| 亚洲精品麻豆| 亚洲黄色小视频在线观看| 国产高清精品在线| 日韩精品卡通动漫网站| 国产精品毛片久久久久久久| 精国产品一区二区三区a片| 欧美色图在线视频| 一级特黄aaa大片| 欧美精品一区二区不卡 | 欧美激情一区不卡| 无码人妻精品一区二区三区夜夜嗨| 亚洲一区二区在线免费看| 国产美女激情视频| 777欧美精品| 五月婷婷丁香花| www.亚洲成人| 在线成人av观看| 97av影视网在线观看| 欧美**字幕| 成人av在线播放观看| 久久久久99| 波多野结衣电影免费观看| 久久久久久久久久久久久久久99 | 国产精品99一区二区| 好男人www社区| 成人午夜视频福利| 极品蜜桃臀肥臀-x88av| 亚洲国产色一区| 中文字幕av影视| 亚洲男人天堂网站| 欧洲性视频在线播放| 国产精品免费久久久| 林ゆな中文字幕一区二区| 影音先锋在线亚洲| 日韩高清电影一区| 中文字幕免费高清视频| 亚洲美女偷拍久久| 日韩xxx视频| 日韩电视剧在线观看免费网站| 18在线观看的| 国产精品手机播放| 久久99精品久久久久久园产越南| 国产女教师bbwbbwbbw| 蜜桃久久久久久| 成人无码av片在线观看| 欧美性猛交xxxx久久久| 国模私拍视频在线| 欧美成人高清视频| 亚洲欧美一级| 亚洲精品日韩在线观看| 久久久久久久高潮| 中文字幕一区二区久久人妻网站| 亚洲精品菠萝久久久久久久| 91麻豆成人精品国产| 尤物九九久久国产精品的分类| 色偷偷偷在线视频播放| 激情小说网站亚洲综合网| 国产一区激情| 丰满少妇一区二区三区专区| 中文字幕日本不卡| 国产一区二区小视频| 色播久久人人爽人人爽人人片视av| 成人性生活视频| 久久99国产精品99久久| 99av国产精品欲麻豆| 小毛片在线观看| 精品久久久久久久久久ntr影视| 亚洲精品成av人片天堂无码| 萌白酱国产一区二区| 国产午夜亚洲精品一级在线| 日韩视频在线免费播放| 国产精品88av| 久草免费在线视频观看| 欧美成人免费网站| 黄色大片在线| 国产一区国产精品| 亚洲毛片在线| 少妇特黄一区二区三区| 91国产成人在线| 日韩电影免费| 国产精品91久久久久久| 欧洲杯半决赛直播| 手机av在线网| 亚洲一卡二卡三卡四卡五卡| 丰满少妇被猛烈进入| 26uuu亚洲伊人春色| 欧美精品momsxxx| 亚洲娇小娇小娇小| 亚洲男人的天堂在线aⅴ视频| www.色视频| 国产91精品久久久久久| 国产精品亚洲人成在99www| 天天爽夜夜爽一区二区三区| 18成人在线观看| 你懂的网站在线| 欧美影院久久久| 93在线视频精品免费观看| 亚洲精品国产久| 婷婷六月综合网| 成人在线免费公开观看视频| 91热福利电影| 亚洲精品激情| 日本不卡一区视频| 精品国精品自拍自在线| 日韩伦理在线一区| 在线观看欧美一区| 成人一区二区三区视频在线观看 | 黄色漫画在线免费看| 欧洲国产精品| 国产一区二区三区四区五区入口| 国产污片在线观看| 中文字幕免费国产精品| 国内精品偷拍| 黄色手机在线视频| 亚洲大片在线观看| av在线播放av| 国产精品手机视频| 美女爽到高潮91| 久久久久久久久久综合| 自拍偷拍亚洲欧美| 国产精品15p| 中文字幕 日韩 欧美| 婷婷开心激情综合| 在线观看午夜av| 日本一区二区精品视频| 国产aⅴ精品一区二区三区色成熟| 四虎影院在线免费播放| 久久久久久久影院| 天天综合亚洲| 免费成人深夜天涯网站|