Installing
The bundle is a directory containingpython3.9-build.tar.gz and a python-wheels/
folder. Run:
- Extracts the standalone Python build to
~/.local/python/. - Installs RDT and all its dependencies from the local wheels, no network access required.
- Adds
~/.local/python/binto yourPATHvia~/.bashrc(only if not already present).
PATH change and confirm:
~/.bashrc PATH update only takes effect in interactive bash shells that source it,
either the current shell (after you source it manually) or any new one you open
afterward. It won’t apply automatically in a few common cases:
- Non-interactive contexts: scripts, cron jobs, or a single non-interactive SSH
command (e.g.
ssh host 'rdt --version') don’t source~/.bashrcat all. Either callrdtby its full path (~/.local/python/bin/rdt) or export thePATHexplicitly in that context: - A different login shell: if your default shell isn’t bash (e.g. zsh, fish), add
the same line to that shell’s own startup file instead (e.g.
~/.zshrcfor zsh). - Login shells that don’t source
~/.bashrc: some minimal environments only read~/.bash_profile/~/.profileon login and don’t chain-load~/.bashrc. If a fresh login doesn’t pick up the change, add the sameexport PATH=...line to whichever of those files exists on your system.
python3, do so manually (requires root):
Compiling native extensions
If installing a wheel needs to compile a C/C++ extension, setCC/CXX first:
Troubleshooting
- “file not found”: confirm the bundle path contains both
python3.9-build.tar.gzand apython-wheels/directory. - “permission denied”: everything is installed under
~/.local, so this usually means~/.local(or~/.local/pythonfrom a previous attempt) is owned by a different user or has restrictive permissions, or the bundle directory itself isn’t readable by your user. Check ownership and fix it before retrying:ls -la ~/.localandchown -R "$(id -un)" ~/.localif needed. - pip build errors for C extensions: see the
CC/CXXstep above. - For more detail on what’s happening, run with shell tracing:
bash -x packaging/offline/install.sh /path/to/bundle.
Verifying the install
Ifrdt --version didn’t work after installing, use these to isolate which layer
failed: the extracted Python itself, your PATH, or the package install: