
如何使用Setuptools-rust構建跨平臺Python WheelsWindows/macOS/Linux全攻略【免費下載鏈接】setuptools-rustSetuptools plugin for Rust support項目地址: https://gitcode.com/gh_mirrors/se/setuptools-rustSetuptools-rust是一款強大的Setuptools插件專為Rust支持設計幫助開發(fā)者輕松構建跨平臺的Python Wheels。本文將詳細介紹如何在Windows、macOS和Linux系統(tǒng)上使用Setuptools-rust構建Python Wheels涵蓋從環(huán)境準備到高級配置的完整流程。 環(huán)境準備三平臺通用步驟在開始構建之前需要確保系統(tǒng)中已安裝以下工具Python 3.7Rust 1.56pip 21.3setuptools 60.0安裝Setuptools-rust使用pip安裝Setuptools-rustpip install setuptools-rust克隆項目倉庫git clone https://gitcode.com/gh_mirrors/se/setuptools-rust cd setuptools-rust 基礎構建快速生成WheelSetuptools-rust提供了簡單的命令來構建Wheel適用于大多數場景。通用構建命令在項目根目錄下執(zhí)行以下命令構建Wheelpython -m build --wheel --no-isolation或者使用pippip wheel --no-deps . --wheel-dir dist構建完成后Wheel文件將生成在dist目錄中。 平臺特定配置Windows平臺Windows平臺需要注意以下幾點工具鏈選擇Setuptools-rust默認使用MSVC工具鏈但也支持GNU工具鏈。如果需要使用GNU工具鏈需在setup.py中明確指定。DLL文件處理在Windows上DLL文件在使用時會被系統(tǒng)鎖定。Setuptools-rust會自動處理DLL文件的復制和版本控制確保Wheel包中包含正確的依賴。激活虛擬環(huán)境.venv\Scripts\activatemacOS平臺macOS平臺支持構建通用Wheeluniversal2同時支持x86_64和arm64架構。構建universal2 Wheel設置ARCHFLAGS環(huán)境變量ARCHFLAGS-arch x86_64 -arch arm64 python -m build --wheel --no-isolation激活虛擬環(huán)境source .venv/bin/activateLinux平臺Linux平臺推薦使用manylinux容器來構建兼容多種Linux發(fā)行版的Wheel。使用manylinux容器首先拉取manylinux2014鏡像docker pull quay.io/pypa/manylinux2014_x86_64然后在容器中運行構建腳本docker run --rm -v pwd:/io quay.io/pypa/manylinux2014_x86_64 bash /io/build-wheels.sh構建腳本示例項目中提供了構建腳本示例如examples/html-py-ever/build-wheels.sh可根據需要進行修改。 高級配置優(yōu)化Wheel構建配置bdist_wheel在setup.cfg中添加[bdist_wheel]配置段可自定義Wheel構建過程[bdist_wheel] py_limited_apicp37此配置啟用PEP 384穩(wěn)定API使Wheel支持多個Python版本。使用cibuildwheel[cibuildwheel]是一個強大的工具可通過GitHub Actions構建多平臺Wheel。在項目中添加build-wheels.sh腳本并配置GitHub Actions工作流即可自動構建Windows、macOS和Linux平臺的Wheel。處理生成文件如果Rust構建過程中生成了需要包含在Wheel中的文件可使用RustExtension的generated_files選項RustExtension( my_package.my_module, Cargo.toml, generated_files[path/to/generated/file], ) 驗證Wheel構建完成后可使用以下命令驗證Wheel內容python -m zipfile -l dist/*.whl此命令將列出Wheel包中包含的所有文件確保沒有遺漏必要的組件。 參考文檔官方文檔docs/building_wheels.md示例項目examples/Setuptools-rust源碼setuptools_rust/通過本文介紹的方法您可以輕松使用Setuptools-rust在Windows、macOS和Linux平臺上構建高質量的Python Wheels為您的項目提供更好的分發(fā)和安裝體驗?!久赓M下載鏈接】setuptools-rustSetuptools plugin for Rust support項目地址: https://gitcode.com/gh_mirrors/se/setuptools-rust創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考