Bootstrap Python without administrator, root, or sudo access.
A cross-platform solution for developers working in restricted environments who need a fully functional Python runtime without elevated privileges.
install.cmdchmod +x install.sh
./install.shThat's it! The installer will:
- Download a bootstrap Python (first run only)
- Install your chosen Python version to
~/.python-nonadmin - Install pip
- Configure your PATH
# Install specific version
./install.sh --version 3.11.9
# Force reinstall
./install.sh --force
# List available versions
./install.sh --list
# Uninstall
./install.sh --uninstall# All the same flags work
.\install.cmd --version 3.11.9
.\install.cmd --list
.\install.cmd --uninstall- No admin/sudo required โ Installs entirely in user-writable directories
- Cross-platform โ Works on Windows, macOS (Intel & Apple Silicon), and Linux (x86_64 & ARM64)
- Version selection โ Install any supported Python version
- Complete Python โ Includes pip and full standard library
- Virtual environment support โ Create isolated environments as usual
- Self-contained โ Uses bundled bootstrap Python, no dependencies
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ install.cmd / install.sh โ
โ โ โ
โ Downloads bootstrap Python to bin/python/ (first run) โ
โ โ โ
โ Runs install.py with bootstrap Python โ
โ โ โ
โ install.py downloads target Python version โ
โ โ โ
โ Installs to ~/.python-nonadmin โ
โ โ โ
โ Configures pip + PATH โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Platform | Bootstrap Python | Target Python |
|---|---|---|
| Windows | Python embeddable package | Python embeddable package |
| macOS | python-build-standalone | python-build-standalone |
| Linux | python-build-standalone | python-build-standalone |
| Platform | Location |
|---|---|
| Windows | %USERPROFILE%\.python-nonadmin |
| macOS | $HOME/.python-nonadmin |
| Linux | $HOME/.python-nonadmin |
python --version
pip --version
python -c "import sys; print(sys.executable)"
python examples/demo.pyAfter installation, either restart your terminal or:
. .\scripts\activate.ps1source ./scripts/activate.shpython -m venv myproject-env
# Activate
# Windows: .\myproject-env\Scripts\Activate.ps1
# Unix: source myproject-env/bin/activate
pip install requests flask pandasExecution policy error:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedCorporate proxy:
$env:HTTP_PROXY = "http://proxy.company.com:8080"
$env:HTTPS_PROXY = "http://proxy.company.com:8080"
.\install.cmdGatekeeper warning:
xattr -dr com.apple.quarantine ~/.python-nonadminglibc version mismatch:
- Default builds require glibc 2.17+
- For very old systems, consider building from source
- ๐ข Corporate laptops โ Work on locked-down enterprise machines
- ๐ Academic labs โ Develop on shared university computers
- ๐ Sandboxed environments โ CI/CD pipelines with limited permissions
- ๐พ Portable development โ Run Python from USB drives
- ๐งช Testing โ Isolated Python versions for testing
Edit config.json to change default Python version and download URLs.
Supported versions (tested):
- 3.12.8 (default)
- 3.12.7
- 3.11.9
- 3.11.8
- 3.10.14
- 3.10.13
./install.sh --uninstall
# or on Windows:
install.cmd --uninstallThis removes the ~/.python-nonadmin directory. You may also want to clean up shell profile entries manually.
MIT License - See LICENSE for details.
Contributions welcome!