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!