Skip to content

Commit 7836edc

Browse files
committed
Update installer page for native extension sync fix
1 parent 9777f88 commit 7836edc

1 file changed

Lines changed: 25 additions & 37 deletions

File tree

installer.html

Lines changed: 25 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
<head>
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<meta name="description" content="Install QECTOR Decoder with the robust AIO installer for Git Bash and Windows. Handles Rust, Python 3.11 wheel fallback, thin checkout repair, dev dependencies, and pytest.">
6+
<meta name="description" content="Install QECTOR Decoder with the robust AIO installer for Git Bash and Windows. Handles Python 3.11 wheel fallback, native extension source sync, dev dependencies, Rust source builds, and pytest.">
77
<link rel="canonical" href="https://www.qector.store/installer.html">
8-
<meta property="og:title" content="QECTOR Installer | Robust Git Bash and Windows Setup">
9-
<meta property="og:description" content="Install QECTOR Decoder with the robust AIO installer for Git Bash and Windows. Handles Rust, Python 3.11 wheel fallback, thin checkout repair, dev dependencies, and pytest.">
8+
<meta property="og:title" content="QECTOR Installer | Git Bash and Windows Setup">
9+
<meta property="og:description" content="Robust installer for QECTOR Decoder. Handles Python 3.11 wheel fallback, native extension source sync, dev dependencies, Rust source builds, and pytest.">
1010
<meta property="og:type" content="website">
1111
<meta property="og:url" content="https://www.qector.store/installer.html">
1212
<meta property="og:image" content="https://www.qector.store/assets/hero.png">
1313
<meta name="twitter:card" content="summary_large_image">
14-
<title>QECTOR Installer | Robust Git Bash and Windows Setup</title>
14+
<title>QECTOR Installer | Git Bash and Windows Setup</title>
1515
<link rel="preconnect" href="https://fonts.googleapis.com">
1616
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
1717
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
@@ -32,22 +32,22 @@
3232
<div class="container hero-grid-layout">
3333
<div class="hero-copy">
3434
<div class="hero-eyebrow">
35-
<span class="badge badge-green"><span class="glow-dot"></span> Verified Windows Path</span>
35+
<span class="badge badge-green"><span class="glow-dot"></span> AIO Installer</span>
3636
<span class="badge badge-cyan">Git Bash Ready</span>
3737
<span class="badge badge-muted">Python 3.11 Wheel Path</span>
3838
</div>
3939
<h1 class="hero-title">Install QECTOR without fighting Rust, Python, or Git Bash.</h1>
40-
<p class="hero-subtitle">Use the installer instead of the fragile manual sequence. The verified Windows path selects Python 3.11 when the bundled cp311 wheel exists, repairs thin checkouts, installs dev dependencies, and runs pytest through the virtual environment.</p>
40+
<p class="hero-subtitle">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.</p>
4141
<div class="hero-actions">
4242
<a href="#gitbash" class="btn btn-primary btn-lg">Git Bash Command</a>
43-
<a href="#verified" class="btn btn-secondary btn-lg">Verified Result</a>
43+
<a href="#fix" class="btn btn-secondary btn-lg">Import Fix</a>
4444
</div>
4545
</div>
4646
<div class="hero-visual" style="padding:1.5rem;background:rgba(10,16,31,.82);border-radius:24px;border:1px solid rgba(0,213,255,.22);box-shadow:0 28px 80px rgba(0,0,0,.36);">
4747
<pre style="margin:0;"><code>git clone https://github.com/qectorlab/qector-decoder.git
4848
cd qector-decoder
4949

50-
python install.py --install-rust</code></pre>
50+
python install.py</code></pre>
5151
</div>
5252
</div>
5353
</section>
@@ -56,64 +56,52 @@ <h1 class="hero-title">Install QECTOR without fighting Rust, Python, or Git Bash
5656
<div class="container">
5757
<div class="section-label">Git Bash</div>
5858
<h2>Fresh install command</h2>
59-
<p style="max-width:760px;margin-bottom:1.5rem;">Run this from Git Bash. This is the supported path for the cleaned public release folder.</p>
60-
<pre><code>cd ~/Downloads/qector-decoder-clean-public-release
59+
<p style="max-width:760px;margin-bottom:1.5rem;">Run this from Git Bash after cloning the full public source repository.</p>
60+
<pre><code>cd ~/Downloads
6161

6262
rm -rf qector-decoder
6363

6464
git clone https://github.com/qectorlab/qector-decoder.git
6565
cd qector-decoder
6666

67-
python install.py --install-rust</code></pre>
67+
python install.py</code></pre>
6868
</div>
6969
</section>
7070

7171
<section>
7272
<div class="container">
7373
<div class="section-label">Already cloned</div>
7474
<h2>Repair and rerun</h2>
75-
<pre><code>cd ~/Downloads/qector-decoder-clean-public-release/qector-decoder
75+
<pre><code>cd ~/Downloads/qector-decoder
7676

7777
git pull
7878
rm -rf .venv
7979
python install.py</code></pre>
80-
<p style="margin-top:1rem;max-width:760px;">If Python 3.11 is installed and you want the bundled cp311 wheel path, run <code>py -3.11 install.py</code>.</p>
80+
<p style="margin-top:1rem;max-width:760px;">If Python 3.11 is installed and the bundled cp311 wheel exists, the installer will select Python 3.11 automatically.</p>
8181
</div>
8282
</section>
8383

84-
<section id="verified">
85-
<div class="container">
86-
<div class="section-label">Verified result</div>
87-
<h2>Confirmed working on Windows Git Bash</h2>
88-
<p style="max-width:820px;margin-bottom:1.5rem;">The current installer has been verified on Windows Git Bash with Python 3.11. It selected Python 3.11 automatically for the bundled cp311 wheel, created the virtual environment, installed QECTOR Decoder v3 from the compatible wheel, installed the dev and benchmark dependencies, and started the 832 item pytest suite.</p>
89-
<div class="proof-grid">
90-
<div class="card"><h3>Python selected</h3><p>Python 3.11 was selected because a cp311 wheel exists in the release payload.</p></div>
91-
<div class="card"><h3>Wheel installed</h3><p>The installer used the compatible qector_decoder_v3 0.4.0 cp311 Windows wheel.</p></div>
92-
<div class="card"><h3>Dependencies installed</h3><p>pytest, hypothesis, Stim, PyMatching, Sinter, LDPC, beliefmatching, SciPy, psutil, matplotlib, and tooling were installed into the virtual environment.</p></div>
93-
<div class="card"><h3>Test suite started</h3><p>pytest discovered 832 tests using Python 3.11 on Windows.</p></div>
94-
</div>
95-
</div>
96-
</section>
97-
98-
<section>
84+
<section id="fix">
9985
<div class="container">
100-
<div class="section-label">What it fixes</div>
101-
<h2>Real installer coverage</h2>
86+
<div class="section-label">Latest fix</div>
87+
<h2>Native extension source sync</h2>
88+
<p style="max-width:840px;margin-bottom:1.5rem;">The installer now fixes the exact failure seen when examples or reproduction scripts force the repository <code>python/</code> directory onto <code>PYTHONPATH</code>. After the wheel is installed, the compiled native extension is copied into <code>python/qector_decoder_v3/</code>, so local source imports resolve correctly during pytest, examples, and script help checks.</p>
10289
<div class="proof-grid">
103-
<div class="card"><h3>Missing Rust</h3><p>Installs Rust with rustup and detects Cargo paths after setup.</p></div>
104-
<div class="card"><h3>Wrong Python</h3><p>Detects bundled wheel tags like cp311 and recreates the virtual environment with a compatible interpreter when available.</p></div>
105-
<div class="card"><h3>Thin checkout</h3><p>Searches the parent release folder and Downloads for the real source payload and repairs the clone.</p></div>
106-
<div class="card"><h3>Git Bash linker issue</h3><p>Removes Git Bash linker path conflicts before Rust source builds.</p></div>
90+
<div class="card"><h3>Problem fixed</h3><p><code>ModuleNotFoundError: qector_decoder_v3.qector_decoder_v3</code> caused by local source shadowing the installed wheel.</p></div>
91+
<div class="card"><h3>Installer action</h3><p>Finds the installed native <code>.pyd</code> / <code>.so</code> extension and syncs it into the source package.</p></div>
92+
<div class="card"><h3>Verification</h3><p>Checks both installed import and <code>PYTHONPATH=python</code> local source import before running pytest.</p></div>
93+
<div class="card"><h3>Test coverage</h3><p>Targets the 832 item pytest suite through the virtual environment.</p></div>
10794
</div>
10895
</div>
10996
</section>
11097

11198
<section>
11299
<div class="container">
113-
<div class="section-label">Windows source build</div>
100+
<div class="section-label">Source build</div>
114101
<h2>When a native build is required</h2>
115102
<p style="max-width:780px;margin-bottom:1.5rem;">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.</p>
116-
<div class="hero-actions">
103+
<pre><code>python install.py --install-rust --build-from-source</code></pre>
104+
<div class="hero-actions" style="margin-top:1.5rem;">
117105
<a href="https://visualstudio.microsoft.com/visual-cpp-build-tools/" class="btn btn-secondary">Open Visual Studio Build Tools</a>
118106
<a href="contact.html" class="btn btn-gold">Ask for support</a>
119107
</div>
@@ -130,4 +118,4 @@ <h2>When a native build is required</h2>
130118
</footer>
131119
<script src="assets/nav.js"></script>
132120
</body>
133-
</html>
121+
</html>

0 commit comments

Comments
 (0)