diff --git a/Basics.ipynb b/Basics.ipynb index 2efd5b9..b998b94 100644 --- a/Basics.ipynb +++ b/Basics.ipynb @@ -2916,13 +2916,357 @@ }, { "cell_type": "markdown", - "id": "3ebab575", + "id": "fb1b118c", "metadata": { "editable": false }, "source": [ - "" + "# **Appendix: Running python locally**" + ] + }, + { + "cell_type": "markdown", + "id": "d029a1c0", + "metadata": { + "editable": false + }, + "source": [ + "To run python outside of the JupyterLite environment you need to install it locally. As with a lot of large programming languages there are multiple solutions to do this. The two common families of solutions are python with pip and conda/mamba." + ] + }, + { + "cell_type": "markdown", + "id": "e8556ab8", + "metadata": { + "editable": false + }, + "source": [ + "| Feature | **Python with pip** | **Conda/Mamba** |\n", + "|---------|----------------|-----------------|\n", + "| **Installation** | Install Python from python.org, pip included | Install Anaconda/Miniconda distribution |\n", + "| **Package Management** | `pip install package` | `conda install package` or `mamba install package` |\n", + "| **Environment Management** | `venv` or `virtualenv` (separate tools) | Built-in: `conda create -n myenv` |\n", + "| **Package Repository** | PyPI (Python Package Index) | Anaconda repository + conda-forge |\n", + "| **Non-Python Dependencies** | Limited (Python packages only) | Excellent (handles Python, R, C libraries, etc.) |\n", + "| **Complexity** | Simpler, more lightweight | More comprehensive, heavier |\n", + "| **Best For** | Pure Python development, simple projects | Data science, scientific computing, complex dependencies |\n", + "| **Speed** | Fast package installation | Slower (conda), faster with mamba |\n", + "| **Architecture Support** | Excellent (source packages work on any architecture, if compiling tools available) | Limited to pre-built binaries for common architectures |\n", + "| **Reproducibility** | `requirements.txt` | `environment.yml` with exact versions |\n", + "| **Modern Tooling** | **uv** (ultra-fast installer), **Poetry** (dependency & packaging) | **Mamba** (faster conda drop-in replacement), **Pixi** (modern project/workflow tool) |" + ] + }, + { + "cell_type": "markdown", + "id": "9bf355f1", + "metadata": { + "editable": false + }, + "source": [ + "### Installing Python and pip" ] + }, + { + "cell_type": "markdown", + "id": "d0b30d43", + "metadata": { + "editable": false + }, + "source": [ + "#### On Windows:" + ] + }, + { + "cell_type": "markdown", + "id": "e0a9656c", + "metadata": { + "editable": false + }, + "source": [ + "1. Go to https://www.python.org/downloads/) and choose the latest stable installer for Windows (for example, \u201cWindows installer (64-bit)\u201d).\n", + "2. During installation, make sure to check the box \u201cAdd Python to PATH\u201d so you can use Python from any command prompt.\n", + "3. After installation finishes, open a new Terminal (Command Prompt or PowerShell) and type:\n", + "\n", + "```python\n", + "python --version\n", + "```\n", + "\n", + "This should confirm that Python installed successfully.\n", + "\n", + " - Alternatively, you could install the Anaconda distribution from https://www.anaconda.com/products/distribution, which includes Python and a variety of data-science packages by default." + ] + }, + { + "cell_type": "markdown", + "id": "b03e4874", + "metadata": { + "editable": false + }, + "source": [ + "#### On Linux (Ubuntu/Debian-based):" + ] + }, + { + "cell_type": "markdown", + "id": "546d664c", + "metadata": { + "editable": false + }, + "source": [ + "1. Open a terminal.\n", + "2. Run:\n", + "```\n", + "sudo apt-get update\n", + "sudo apt-get install python3 python3-pip\n", + "```\n", + "(Adjust to python or python3 depending on your distribution)\n", + "\n", + "3. Confirm your installation by running:\n", + "```python\n", + "python3 --version\n", + "```\n", + "\n", + " - For Fedora or other distributions, replace `apt-get` with `yum`, `dnf`, or your distro\u2019s package manager.\n", + " - You can also install Anaconda if you want a more complete environment." + ] + }, + { + "cell_type": "markdown", + "id": "d25e9eaa", + "metadata": { + "editable": false + }, + "source": [ + "#### On macOS:" + ] + }, + { + "cell_type": "markdown", + "id": "32384276", + "metadata": { + "editable": false + }, + "source": [ + "1. Visit https://www.python.org/downloads/ and download the macOS installer (e.g., \u201cmacOS 64-bit universal2 installer\u201d).\n", + "2. Double-click the `.pkg` file and follow the prompts.\n", + "3. After installation, open Terminal and check:\n", + "```\n", + "python3 --version\n", + "```\n", + "\n", + " - Alternatively, on macOS you can install Python via Homebrew (if you already have Homebrew installed) by running:\n", + "```\n", + "brew install python3\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "6ad36f9c", + "metadata": { + "editable": false + }, + "source": [ + "#### Installing and Running Jupyter Notebooks" + ] + }, + { + "cell_type": "markdown", + "id": "88323ba7", + "metadata": { + "editable": false + }, + "source": [ + "1. Once Python is installed (whether from python.org, your Linux package manager, or Anaconda), you can install Jupyter Lab as follows:\n", + "```\n", + "pip install jupyterlab\n", + "```\n", + "(Use `pip3` if needed, e.g., \u203a `pip3 install jupyter`)\n", + "\n", + "2. When everything is installed, you can start a Jupyter notebook server (or Jupyter Lab) and work on your Python exercises by simply running in your terminal or command prompt:\n", + "```\n", + "jupyter notebook\n", + "```\n", + "or\n", + "```\n", + "jupyter lab\n", + "```\n", + "\n", + "This will open a new tab in your web browser with the Jupyter Notebook or Jupyter Lab interface, ready for you to start coding!" + ] + }, + { + "cell_type": "markdown", + "id": "1ea7de96", + "metadata": { + "editable": false + }, + "source": [ + "### Installing Mamba (via Miniforge)" + ] + }, + { + "cell_type": "markdown", + "id": "88f8fa02", + "metadata": { + "editable": false + }, + "source": [ + "#### On Windows:" + ] + }, + { + "cell_type": "markdown", + "id": "bc5d5add", + "metadata": { + "editable": false + }, + "source": [ + "1. Go to https://github.com/conda-forge/miniforge and download the Miniforge3 installer for Windows (e.g., \"Miniforge3-Windows-x86_64.exe\").\n", + "2. Run the installer and follow the prompts. You can accept the default options.\n", + "3. After installation, open \"Miniforge Prompt\" from the Start menu and verify:\n", + "\n", + "```bash\n", + "mamba --version\n", + "conda --version\n", + "```\n", + "\n", + "This should confirm that Mamba and Conda are installed successfully.\n", + "\n", + " - Miniforge comes with `mamba` pre-installed and uses conda-forge as the default channel." + ] + }, + { + "cell_type": "markdown", + "id": "a9daafa9", + "metadata": { + "editable": false + }, + "source": [ + "#### On Linux (Ubuntu/Debian-based and others):" + ] + }, + { + "cell_type": "markdown", + "id": "ba271553", + "metadata": { + "editable": false + }, + "source": [ + "1. Open a terminal and download the installer:\n", + "```bash\n", + "wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh\n", + "```\n", + "\n", + "2. Run the installer:\n", + "```bash\n", + "bash Miniforge3-Linux-x86_64.sh\n", + "```\n", + "\n", + "3. Follow the prompts, accept the license, and allow the installer to initialize Miniforge.\n", + "\n", + "4. Restart your terminal or run:\n", + "```bash\n", + "source ~/.bashrc\n", + "```\n", + "\n", + "5. Confirm your installation:\n", + "```bash\n", + "mamba --version\n", + "conda --version\n", + "```\n", + "\n", + " - For ARM-based systems, download `Miniforge3-Linux-aarch64.sh` instead." + ] + }, + { + "cell_type": "markdown", + "id": "f2e714e4", + "metadata": { + "editable": false + }, + "source": [ + "#### On macOS:" + ] + }, + { + "cell_type": "markdown", + "id": "232aee40", + "metadata": { + "editable": false + }, + "source": [ + "1. Download the installer from https://github.com/conda-forge/miniforge:\n", + " - For Intel Macs: `Miniforge3-MacOSX-x86_64.sh`\n", + " - For Apple Silicon (M1/M2/M3): `Miniforge3-MacOSX-arm64.sh`\n", + "\n", + "2. Open Terminal and navigate to your Downloads folder, then run:\n", + "```bash\n", + "bash Miniforge3-MacOSX-*.sh\n", + "```\n", + "(Replace `*` with `x86_64` or `arm64` depending on your system)\n", + "\n", + "3. Follow the installation prompts and allow the installer to initialize Miniforge.\n", + "\n", + "4. Restart your terminal or run:\n", + "```bash\n", + "source ~/.bash_profile # or ~/.zshrc if using zsh\n", + "```\n", + "\n", + "5. Verify the installation:\n", + "```bash\n", + "mamba --version\n", + "conda --version\n", + "```\n", + "\n", + " - Alternatively, if you have Homebrew installed, you can run:\n", + "```bash\n", + "brew install --cask miniforge\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "68d32a65", + "metadata": { + "editable": false + }, + "source": [ + "#### Installing and Running Jupyter Notebooks with Mamba" + ] + }, + { + "cell_type": "markdown", + "id": "38068a3a", + "metadata": { + "editable": false + }, + "source": [ + "1. Once Miniforge/Mamba is installed, you can install JupyterLab in a new environment for your project:\n", + "```bash\n", + "mamba create -n myproject python=3.11 jupyterlab\n", + "mamba activate myproject\n", + "```\n", + "\n", + "2. Start Jupyter:\n", + "```bash\n", + "jupyter notebook\n", + "```\n", + "or\n", + "```bash\n", + "jupyter lab\n", + "```\n", + "\n", + "This will open a new tab in your web browser with the Jupyter interface, ready for you to start coding!" + ] + }, + { + "cell_type": "markdown", + "id": "ac3d4b98", + "metadata": { + "editable": false + }, + "source": [] } ], "metadata": { @@ -2941,7 +3285,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.13.0" } }, "nbformat": 4, diff --git a/Basics_filled.ipynb b/Basics_filled.ipynb index 2cad84b..961da39 100644 --- a/Basics_filled.ipynb +++ b/Basics_filled.ipynb @@ -3514,11 +3514,313 @@ }, { "cell_type": "markdown", - "id": "3ebab575", + "id": "fb1b118c", "metadata": {}, "source": [ - "" + "# **Appendix: Running python locally**" + ] + }, + { + "cell_type": "markdown", + "id": "d029a1c0", + "metadata": {}, + "source": [ + "To run python outside of the JupyterLite environment you need to install it locally. As with a lot of large programming languages there are multiple solutions to do this. The two common families of solutions are python with pip and conda/mamba." + ] + }, + { + "cell_type": "markdown", + "id": "e8556ab8", + "metadata": {}, + "source": [ + "| Feature | **Python with pip** | **Conda/Mamba** |\n", + "|---------|----------------|-----------------|\n", + "| **Installation** | Install Python from python.org, pip included | Install Anaconda/Miniconda distribution |\n", + "| **Package Management** | `pip install package` | `conda install package` or `mamba install package` |\n", + "| **Environment Management** | `venv` or `virtualenv` (separate tools) | Built-in: `conda create -n myenv` |\n", + "| **Package Repository** | PyPI (Python Package Index) | Anaconda repository + conda-forge |\n", + "| **Non-Python Dependencies** | Limited (Python packages only) | Excellent (handles Python, R, C libraries, etc.) |\n", + "| **Complexity** | Simpler, more lightweight | More comprehensive, heavier |\n", + "| **Best For** | Pure Python development, simple projects | Data science, scientific computing, complex dependencies |\n", + "| **Speed** | Fast package installation | Slower (conda), faster with mamba |\n", + "| **Architecture Support** | Excellent (source packages work on any architecture, if compiling tools available) | Limited to pre-built binaries for common architectures |\n", + "| **Reproducibility** | `requirements.txt` | `environment.yml` with exact versions |\n", + "| **Modern Tooling** | **uv** (ultra-fast installer), **Poetry** (dependency & packaging) | **Mamba** (faster conda drop-in replacement), **Pixi** (modern project/workflow tool) |" + ] + }, + { + "cell_type": "markdown", + "id": "9bf355f1", + "metadata": {}, + "source": [ + "### Installing Python and pip" + ] + }, + { + "cell_type": "markdown", + "id": "d0b30d43", + "metadata": {}, + "source": [ + "#### On Windows:" + ] + }, + { + "cell_type": "markdown", + "id": "e0a9656c", + "metadata": {}, + "source": [ + "1. Go to https://www.python.org/downloads/) and choose the latest stable installer for Windows (for example, “Windows installer (64-bit)”).\n", + "2. During installation, make sure to check the box “Add Python to PATH” so you can use Python from any command prompt.\n", + "3. After installation finishes, open a new Terminal (Command Prompt or PowerShell) and type:\n", + "\n", + "```python\n", + "python --version\n", + "```\n", + "\n", + "This should confirm that Python installed successfully.\n", + "\n", + " - Alternatively, you could install the Anaconda distribution from https://www.anaconda.com/products/distribution, which includes Python and a variety of data-science packages by default." + ] + }, + { + "cell_type": "markdown", + "id": "b03e4874", + "metadata": {}, + "source": [ + "#### On Linux (Ubuntu/Debian-based):" + ] + }, + { + "cell_type": "markdown", + "id": "546d664c", + "metadata": {}, + "source": [ + "1. Open a terminal.\n", + "2. Run:\n", + "```\n", + "sudo apt-get update\n", + "sudo apt-get install python3 python3-pip\n", + "```\n", + "(Adjust to python or python3 depending on your distribution)\n", + "\n", + "3. Confirm your installation by running:\n", + "```python\n", + "python3 --version\n", + "```\n", + "\n", + " - For Fedora or other distributions, replace `apt-get` with `yum`, `dnf`, or your distro’s package manager.\n", + " - You can also install Anaconda if you want a more complete environment." + ] + }, + { + "cell_type": "markdown", + "id": "d25e9eaa", + "metadata": {}, + "source": [ + "#### On macOS:" + ] + }, + { + "cell_type": "markdown", + "id": "32384276", + "metadata": {}, + "source": [ + "1. Visit https://www.python.org/downloads/ and download the macOS installer (e.g., “macOS 64-bit universal2 installer”).\n", + "2. Double-click the `.pkg` file and follow the prompts.\n", + "3. After installation, open Terminal and check:\n", + "```\n", + "python3 --version\n", + "```\n", + "\n", + " - Alternatively, on macOS you can install Python via Homebrew (if you already have Homebrew installed) by running:\n", + "```\n", + "brew install python3\n", + "```" ] + }, + { + "cell_type": "markdown", + "id": "6ad36f9c", + "metadata": {}, + "source": [ + "#### Installing and Running Jupyter Notebooks" + ] + }, + { + "cell_type": "markdown", + "id": "88323ba7", + "metadata": {}, + "source": [ + "1. Once Python is installed (whether from python.org, your Linux package manager, or Anaconda), you can install Jupyter Lab as follows:\n", + "```\n", + "pip install jupyterlab\n", + "```\n", + "(Use `pip3` if needed, e.g., › `pip3 install jupyter`)\n", + "\n", + "2. When everything is installed, you can start a Jupyter notebook server (or Jupyter Lab) and work on your Python exercises by simply running in your terminal or command prompt:\n", + "```\n", + "jupyter notebook\n", + "```\n", + "or\n", + "```\n", + "jupyter lab\n", + "```\n", + "\n", + "This will open a new tab in your web browser with the Jupyter Notebook or Jupyter Lab interface, ready for you to start coding!" + ] + }, + { + "cell_type": "markdown", + "id": "1ea7de96", + "metadata": {}, + "source": [ + "### Installing Mamba (via Miniforge)" + ] + }, + { + "cell_type": "markdown", + "id": "88f8fa02", + "metadata": {}, + "source": [ + "#### On Windows:" + ] + }, + { + "cell_type": "markdown", + "id": "bc5d5add", + "metadata": {}, + "source": [ + "1. Go to https://github.com/conda-forge/miniforge and download the Miniforge3 installer for Windows (e.g., \"Miniforge3-Windows-x86_64.exe\").\n", + "2. Run the installer and follow the prompts. You can accept the default options.\n", + "3. After installation, open \"Miniforge Prompt\" from the Start menu and verify:\n", + "\n", + "```bash\n", + "mamba --version\n", + "conda --version\n", + "```\n", + "\n", + "This should confirm that Mamba and Conda are installed successfully.\n", + "\n", + " - Miniforge comes with `mamba` pre-installed and uses conda-forge as the default channel." + ] + }, + { + "cell_type": "markdown", + "id": "a9daafa9", + "metadata": {}, + "source": [ + "#### On Linux (Ubuntu/Debian-based and others):" + ] + }, + { + "cell_type": "markdown", + "id": "ba271553", + "metadata": {}, + "source": [ + "1. Open a terminal and download the installer:\n", + "```bash\n", + "wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh\n", + "```\n", + "\n", + "2. Run the installer:\n", + "```bash\n", + "bash Miniforge3-Linux-x86_64.sh\n", + "```\n", + "\n", + "3. Follow the prompts, accept the license, and allow the installer to initialize Miniforge.\n", + "\n", + "4. Restart your terminal or run:\n", + "```bash\n", + "source ~/.bashrc\n", + "```\n", + "\n", + "5. Confirm your installation:\n", + "```bash\n", + "mamba --version\n", + "conda --version\n", + "```\n", + "\n", + " - For ARM-based systems, download `Miniforge3-Linux-aarch64.sh` instead." + ] + }, + { + "cell_type": "markdown", + "id": "f2e714e4", + "metadata": {}, + "source": [ + "#### On macOS:" + ] + }, + { + "cell_type": "markdown", + "id": "232aee40", + "metadata": {}, + "source": [ + "1. Download the installer from https://github.com/conda-forge/miniforge:\n", + " - For Intel Macs: `Miniforge3-MacOSX-x86_64.sh`\n", + " - For Apple Silicon (M1/M2/M3): `Miniforge3-MacOSX-arm64.sh`\n", + "\n", + "2. Open Terminal and navigate to your Downloads folder, then run:\n", + "```bash\n", + "bash Miniforge3-MacOSX-*.sh\n", + "```\n", + "(Replace `*` with `x86_64` or `arm64` depending on your system)\n", + "\n", + "3. Follow the installation prompts and allow the installer to initialize Miniforge.\n", + "\n", + "4. Restart your terminal or run:\n", + "```bash\n", + "source ~/.bash_profile # or ~/.zshrc if using zsh\n", + "```\n", + "\n", + "5. Verify the installation:\n", + "```bash\n", + "mamba --version\n", + "conda --version\n", + "```\n", + "\n", + " - Alternatively, if you have Homebrew installed, you can run:\n", + "```bash\n", + "brew install --cask miniforge\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "68d32a65", + "metadata": {}, + "source": [ + "#### Installing and Running Jupyter Notebooks with Mamba" + ] + }, + { + "cell_type": "markdown", + "id": "38068a3a", + "metadata": {}, + "source": [ + "1. Once Miniforge/Mamba is installed, you can install JupyterLab in a new environment for your project:\n", + "```bash\n", + "mamba create -n myproject python=3.11 jupyterlab\n", + "mamba activate myproject\n", + "```\n", + "\n", + "2. Start Jupyter:\n", + "```bash\n", + "jupyter notebook\n", + "```\n", + "or\n", + "```bash\n", + "jupyter lab\n", + "```\n", + "\n", + "This will open a new tab in your web browser with the Jupyter interface, ready for you to start coding!" + ] + }, + { + "cell_type": "markdown", + "id": "ac3d4b98", + "metadata": {}, + "source": [] } ], "metadata": { @@ -3537,7 +3839,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.13.0" } }, "nbformat": 4,