mirror of
https://github.com/BinomialLLC/basis_universal.git
synced 2026-08-21 18:48:11 +00:00
adding new files
This commit is contained in:
85
python/README_win.md
Normal file
85
python/README_win.md
Normal file
@@ -0,0 +1,85 @@
|
||||
Windows Native Python Build Instructions
|
||||
========================================
|
||||
|
||||
This project uses pybind11 to build Python .pyd extension modules on Windows.
|
||||
Because Windows installs multiple Python versions, and pybind11 currently only
|
||||
supports up to Python 3.12, you must follow these steps exactly.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
- Visual Studio Developer Command Prompt (VS C++ Build Tools installed)
|
||||
- Python 3.12 (pybind11 does NOT support 3.13+ at the time of writing)
|
||||
- pybind11 installed into Python 3.12
|
||||
|
||||
Check installed Python versions:
|
||||
py -0
|
||||
|
||||
If Python 3.12 is missing:
|
||||
winget install Python.Python.3.12
|
||||
|
||||
Install pybind11 for Python 3.12:
|
||||
py -3.12 -m pip install pybind11
|
||||
|
||||
IMPORTANT:
|
||||
You must build AND run with the same Python interpreter version (3.12).
|
||||
|
||||
Building the .pyd Modules
|
||||
-------------------------
|
||||
Open the "Developer Command Prompt for Visual Studio".
|
||||
|
||||
From the project root:
|
||||
|
||||
mkdir build_python_win
|
||||
cd build_python_win
|
||||
|
||||
Run CMake using the exact path to python.exe for Python 3.12:
|
||||
|
||||
cmake -G "Visual Studio 17 2022" -A x64 -DBASISU_BUILD_PYTHON=ON -DBASISU_BUILD_WASM=OFF -DPYTHON_EXECUTABLE="C:\Users\<YOU>\AppData\Local\Programs\Python\Python312\python.exe" ..
|
||||
|
||||
Build:
|
||||
|
||||
cmake --build . --config Release
|
||||
|
||||
Output files will be created in:
|
||||
|
||||
python/basisu_py/basisu_python.pyd
|
||||
python/basisu_py/basisu_transcoder_python.pyd
|
||||
|
||||
Running the Modules
|
||||
-------------------
|
||||
Always run using Python 3.12:
|
||||
|
||||
py -3.12
|
||||
|
||||
Inside Python:
|
||||
|
||||
import basisu_py
|
||||
print("Modules loaded OK.")
|
||||
|
||||
While in the "python" directory:
|
||||
|
||||
py -m tests.test_backend_loading
|
||||
|
||||
WASM Backend (Optional)
|
||||
-----------------------
|
||||
Install wasmtime:
|
||||
|
||||
py -3.12 -m pip install wasmtime
|
||||
|
||||
Ensure these files exist:
|
||||
|
||||
python/basisu_py/wasm/*.wasm
|
||||
|
||||
Common Problems
|
||||
---------------
|
||||
1. "pybind11 not found"
|
||||
-> Installed into wrong Python version. Use:
|
||||
py -3.12 -m pip install pybind11
|
||||
|
||||
2. "Python config failure"
|
||||
-> You are using Python 3.13 or 3.14. Must use Python 3.12.
|
||||
|
||||
3. Modules not loading
|
||||
-> You must run them with the same interpreter used to build them:
|
||||
py -3.12
|
||||
|
||||
Reference in New Issue
Block a user