Quick fix
# One-liner: download the release wheel (via gh-proxy) then pip install (Tsinghua mirror for deps)
curl -sL -o skillspector-2.10.0-py3-none-any.whl https://gh-proxy.com/https://github.com/NVIDIA/SkillSpector/releases/download/v2.10.0/skillspector-2.10.0-py3-none-any.whl && pip install -i https://pypi.tuna.tsinghua.edu.cn/simple skillspector-2.10.0-py3-none-any.whl
Note: the wheel filename must stay exactly as-is (pip validates the filename format; shortening it reports Invalid wheel filename).
What you will run into
pip install skillspector==2.10.0 fails with Could not find a version that satisfies the requirement ... (from versions: none) and No matching distribution found.
You think the mirror is broken; switching to Tsinghua or the official source gives the same result — because this package simply isn't on PyPI.
Why this happens
skillspector's distribution channel is GitHub Release (wheel + sdist assets), not PyPI. Installing it the PyPI way is guaranteed to fail; this is the most common pitfall in CN tutorials (some tutorials write pip install git+... as a workaround).
| Install method | Result |
|---|---|
pip install skillspector (PyPI) | ❌ Always fails (not on PyPI; verified via three routes) |
| Download the GitHub Release wheel, then pip install | ✅ Measured success |
pip install git+https://github.com/NVIDIA/SkillSpector.git | ✅ Works (source mode; direct CN connection unstable) |
pip install <name> is channel addressing: pip queries the index you configured (PyPI by default) by name, and if the name doesn't exist on PyPI it reports "could not find a version".
The key is that channels aren't global — a project may choose to publish only on GitHub Release, and pip doesn't know that channel by default.
So "switching mirrors doesn't help" is inevitable: Tsinghua, official and Aliyun are all PyPI mirrors — mirrors of the same channel; what's absent from the channel is absent from every mirror.
The right move is switching channels, not mirrors: download the wheel from GitHub Release, then pip install <file> — now pip isn't addressing by name, it installs a local file directly, while dependencies still come from PyPI (which is why you configure a CN mirror for them).
This mechanism also explains three phenomena: pip install git+... works (pip supports installing from the git channel); the wheel filename must not be renamed (pip parses name/version/platform from the filename and rejects bad formats);
and (from versions: none) — "none" means "the channel has zero versions", the signature of a channel problem.
Step by step
1. Confirm the channel — Required
pip index versions skillspector reporting "No matching distribution" = not on PyPI; stop trying PyPI.
2. Download the release wheel — Required
curl -sL -o skillspector-2.10.0-py3-none-any.whl https://gh-proxy.com/https://github.com/NVIDIA/SkillSpector/releases/download/v2.10.0/skillspector-2.10.0-py3-none-any.whl
gh-proxy accelerates from CN; a must when direct GitHub is unstable.
3. pip install the wheel — Required
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple skillspector-2.10.0-py3-none-any.whl
Dependencies via the Tsinghua mirror; the wheel itself comes from GitHub Release.
4. Verify the command surface — Required
skillspector --version
Expected output SkillSpector v2.10.0 (measured).
How to confirm it works
Version command outputs correctly (measured output):
skillspector --version
→ SkillSpector v2.10.0
Install log ends with install exit=0 (measured closure: 468K wheel download → all deps installed).
Other environments
| Environment | Notes |
|---|---|
| Direct GitHub from CN | Use gh-proxy to download the wheel (measured) |
| No gh-proxy | Use a reachable mirror, or pip install git+... source mode |
| Shortened filename | Reports Invalid wheel filename; keep it as-is |
| Slow dependency install | -i https://pypi.tuna.tsinghua.edu.cn/simple (measured working) |
| Windows / macOS | Same approach; the wheel is py3-none-any universal |
Symptom
pip install skillspector==2.10.0 reports:
ERROR: Could not find a version that satisfies the requirement skillspector==2.10.0 (from versions: none)
ERROR: No matching distribution found for skillspector==2.10.0Cause
skillspector is not on PyPI — its distribution channel is GitHub Release (wheel + sdist assets). Installing the PyPI way always fails; this is the most common pitfall in domestic tutorials (some tutorials write pip install git+... as a workaround).
Solution
- Correct approach (verified in this marketplace): download the release wheel then pip install:
curl -sL -o skillspector-2.10.0-py3-none-any.whl https://gh-proxy.com/https://github.com/NVIDIA/SkillSpector/releases/download/v2.10.0/skillspector-2.10.0-py3-none-any.whl
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple skillspector-2.10.0-py3-none-any.whl
- Note: keep the wheel filename exactly as-is (pip validates the filename format; shortening it reports
Invalid wheel filename). - Or
pip install git+https://github.com/NVIDIA/SkillSpector.git(source mode; domestic direct unstable).
Verification Evidence
- Verified in this marketplace 2026-08-28 (local repro log): PyPI JSON API ->
{"message": "Not Found"}; Tsinghua mirror simple -> 404;pip index versions-> No matching distribution. Three-way check confirms the package is not on PyPI. - Closed loop v3: wheel download 468K -> pip installed all deps successfully ->
SkillSpector v2.10.0-> install exit=0.
Applicable tools (1)
This problem is linked from the tool pages below — reachable from either side.
skillspectorSource & evidence
← Security & Governance domain | Problem Catalog Experience | Facing another issue? Go to the Helpdesk