holoscan-install-wheel

par nvidia

Installer le wheel Python Holoscan SDK via pip dans un environnement virtuel. À utiliser pour les installations Python ; pas pour les installations natives C++/apt ou Conda.

npx skills add https://github.com/nvidia/skills --skill holoscan-install-wheel

Holoscan pip Wheel Installation

Purpose

Install the Holoscan SDK Python bindings via the holoscan-cu12 / holoscan-cu13 pip wheel into a virtual environment, and verify with hello_world and video_replayer.

Prerequisites

  • Linux x86_64 with NVIDIA GPU + driver (nvidia-smi).
  • CUDA Toolkit on PATH matching the host CUDA major (12 or 13).
  • Python 3.10–3.13 with venv available.
  • Network access to PyPI and docs.nvidia.com.

Limitations

  • Python only. For C++ headers/libs, pair with /holoscan-install-debian.
  • holoscan-cu12 and holoscan-cu13 are mutually exclusive — wheel must match host CUDA driver.
  • video_replayer data ships only with the Debian package; without it, set HOLOSCAN_INPUT_PATH to a directory containing racerx/.
  • ulimit -s 32768 is recommended in every shell that runs Holoscan — without it some apps emit a stack-size warning or, in rarer cases, segfault.

Step 0: Consult the Official Install Instructions

Always fetch the pip-wheel section of https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html before installing. Extract: exact wheel package names (holoscan-cu12, holoscan-cu13), the supported Python range for the current release, prerequisites that must be on PATH (CUDA Toolkit), and any optional extras (LibTorch / ONNX Runtime version pins). If the doc disagrees with anything below, the doc wins.

You need the CUDA variant already determined. If not known, run nvidia-smi 2>&1 | head -5 first.

CUDA variant rule — pick the pip package:

nvidia-smi CUDA Versionpip package
13.x+holoscan-cu13
12.x (any GPU)holoscan-cu12

Prerequisites: CUDA Toolkit on PATH, Python 3.10–3.13. Optional extras: LibTorch 2.11.0+, ONNX Runtime 1.22.0+.

Always install into a Python virtual environment — this avoids system-package conflicts and is required on Ubuntu 24.04 (which blocks system-wide pip entirely).

Step 1: Create and Activate the venv

Check if one exists first:

ls ~/holoscan/venv 2>/dev/null && echo "exists" || echo "missing"

If missing:

python3 -m venv ~/holoscan/venv

Then activate:

source ~/holoscan/venv/bin/activate

Step 2: Install

pip install holoscan-cu12   # or holoscan-cu13

Step 3: Verify

The venv must be active for all commands below.

# Basic import — expected: version string, e.g. "4.1.0"
# The stack-size RuntimeWarning is harmless; ulimit -s 32768 suppresses it.
python3 -c "import holoscan; print(holoscan.__version__)"

# Fetch Python examples from GitHub at the installed version tag.
# These are official NVIDIA examples, fetched over HTTPS and pinned to the tag
# matching the installed wheel (v${SDK_VER}). Before running them, tell the user
# you're about to download and execute remote example scripts from this URL. If
# they decline or GitHub is unreachable, skip to browsing the examples in Step 4.
SDK_VER=$(python3 -c "import holoscan; print(holoscan.__version__)")
BASE="https://raw.githubusercontent.com/nvidia-holoscan/holoscan-sdk/v${SDK_VER}/examples"

# hello_world — expected: "Hello World!"
curl -fsSL "${BASE}/hello_world/python/hello_world.py" -o /tmp/hs_hello_world.py
ulimit -s 32768 && python3 /tmp/hs_hello_world.py

# video_replayer (10 frames, headless) — expected: "Graph execution finished."
# Always run headless: works with or without a display, avoids GUI failure modes over SSH.
curl -fsSL "${BASE}/video_replayer/python/video_replayer.py" -o /tmp/hs_video_replayer.py
curl -fsSL "${BASE}/video_replayer/python/video_replayer.yaml" -o /tmp/hs_video_replayer.yaml
python3 -c "
c = open('/tmp/hs_video_replayer.yaml').read()
c = c.replace('count: 0','count: 10').replace('repeat: true','repeat: false').replace('realtime: true','realtime: false')
c = c.replace('holoviz:\n  width: 854','holoviz:\n  headless: true\n  width: 854')
open('/tmp/hs_video_replayer_run.yaml','w').write(c)"
ulimit -s 32768 && HOLOSCAN_INPUT_PATH=/opt/nvidia/holoscan/data \
  python3 /tmp/hs_video_replayer.py --config /tmp/hs_video_replayer_run.yaml

Note: video_replayer needs the racerx data files. These ship with the Debian package at /opt/nvidia/holoscan/data. If the Debian package is not installed, run sudo /opt/nvidia/holoscan/examples/download_example_data first (requires the apt package to be installed for that script), or set HOLOSCAN_INPUT_PATH to wherever the data lives.

Step 4: Remind the User

They must activate the venv in each new shell session:

source ~/holoscan/venv/bin/activate
ulimit -s 32768   # suppress stack-size warning

Then offer next steps:

  • Explore Python examples at https://github.com/nvidia-holoscan/holoscan-sdk/tree/v<VERSION>/examples
  • Walk through a specific example: /explain-example
  • Start building a custom Holoscan application

Troubleshooting

  • pip install holoscan-cu12 errors with "externally-managed-environment". Ubuntu 24.04 blocks system-wide pip. Create and activate the venv from Step 1 first.
  • ImportError / wrong CUDA at import holoscan. Wheel variant doesn't match host CUDA. Uninstall and reinstall the matching one: pip uninstall -y holoscan-cu13 && pip install holoscan-cu12 (or vice versa).
  • RuntimeWarning: stack size .... Harmless, but set ulimit -s 32768 in the current shell to silence it.
  • Segmentation fault when running an example. ulimit -s 32768 wasn't set. Set it before python3 ....
  • video_replayer can't find racerx/. HOLOSCAN_INPUT_PATH isn't pointing at a directory containing it. Install the Debian package for /opt/nvidia/holoscan/data, or set HOLOSCAN_INPUT_PATH to wherever the data lives.
  • source: no such file: ~/holoscan/venv/bin/activate in a new shell. Venv wasn't created or path differs. Re-run Step 1 or correct the path.

Plus de skills de nvidia

compileiq-debug
nvidia
Utilisez quand quelque chose ne va pas : Search() bloque, toutes les évaluations retournent INVALID_SCORE, les scores ne s'améliorent pas, chaque configuration retourne le même nombre, erreurs ptxas…
create-github-pr
nvidia
Créer des pull requests GitHub en utilisant l'interface en ligne de commande gh. Utiliser lorsque l'utilisateur souhaite créer une nouvelle PR, soumettre du code pour révision, ou ouvrir une pull request. Mots-clés de déclenchement -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Analyse les autres problèmes ouverts pour trouver ceux qu’une PR donnée pourrait également corriger ou casser accidentellement. Génère des opportunités de correctifs adjacents et des risques de contradiction avec fichier:ligne…
fhir-basics
nvidia
Apprend aux agents comment fonctionnent les API FHIR R4, quelles ressources sont disponibles, comment les interroger avec des paramètres de recherche, et comment analyser correctement tous les formats de réponse…
compileiq-validate-result
nvidia
Utiliser APRÈS qu'une recherche soit terminée et AVANT de réclamer un accélérateur ou d'expédier un ACF. Charge le CSV dump_results, extrait les K meilleurs candidats (mono-objectif)…
changelog-audit
nvidia
Auditer le CHANGELOG.md de Warp avant une publication : récupérer les entrées perdues, trier par impact utilisateur, affiner le langage des entrées, ajuster les retours à la ligne et (en mode branche de publication) mettre à jour la comparaison…
maintain-dynamic-plugins
nvidia
Maintenir les chargeurs de plugins dynamiques NeMo Relay, les manifestes, les SDK natifs Rust, le protocole worker gRPC, le SDK worker Python, la documentation, les tests et la couverture du workflow de publication
dgx-diagnose
nvidia
Diagnostiquer les problèmes courants du DGX Station GB300 — plantages CUDA, ciblage incorrect du GPU, bugs de conteneur vLLM/SGLang, problèmes d'état MIG, erreurs NVLink/Fabric Manager,…