Use the installer instead of the fragile manual sequence. It selects Python 3.11 for the bundled cp311 wheel, installs dev dependencies, syncs the compiled native extension into the local source package, and runs pytest through the virtual environment.
git clone https://github.com/qectorlab/qector-decoder.git
cd qector-decoder
python install.py
Run this from Git Bash after cloning the full public source repository.
cd ~/Downloads
rm -rf qector-decoder
git clone https://github.com/qectorlab/qector-decoder.git
cd qector-decoder
python install.py
cd ~/Downloads/qector-decoder
git pull
rm -rf .venv
python install.py
If Python 3.11 is installed and the bundled cp311 wheel exists, the installer will select Python 3.11 automatically.
The installer now fixes the exact failure seen when examples or reproduction scripts force the repository python/ directory onto PYTHONPATH. After the wheel is installed, the compiled native extension is copied into python/qector_decoder_v3/, so local source imports resolve correctly during pytest, examples, and script help checks.
ModuleNotFoundError: qector_decoder_v3.qector_decoder_v3 caused by local source shadowing the installed wheel.
Finds the installed native .pyd / .so extension and syncs it into the source package.
Checks both installed import and PYTHONPATH=python local source import before running pytest.
Targets the 832 item pytest suite through the virtual environment.
If no matching wheel is available and QECTOR must compile from source on Windows, install Visual Studio Build Tools with the C++ build tools workload. The MSVC Rust target needs Microsoft linker support.
python install.py --install-rust --build-from-source