Files
the_information_nexus/tech_docs/linux/conda_install.md

6.5 KiB

Certainly! I'll review the entire conversation and compare it with the attached document to build out a comprehensive step-by-step guide for setting up Conda and JupyterLab on a Debian 12 server. I'll include the additional details we've discussed, such as saving the environment.yml file, not launching Conda by default, and other helpful items.

Here's the complete and refined guide:

Setting up Conda and JupyterLab on a Debian 12 Server

Step 1: Update your system

sudo apt update && sudo apt upgrade

Step 2: Install required dependencies

sudo apt install wget gpg python3 python3-pip

Step 3: Download and verify the Miniconda installer

cd ~/Downloads
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh.sha256
sha256sum Miniconda3-latest-Linux-x86_64.sh
cat Miniconda3-latest-Linux-x86_64.sh.sha256

Step 4: Install Miniconda

chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh

During the installation, when prompted to choose whether to initialize Conda, enter "no" to prevent Conda from automatically launching on shell startup.

Step 5: Initialize Conda

eval "$(/home/medusa/miniconda3/bin/conda shell.bash hook)"
conda init
source ~/.bashrc
conda config --set auto_activate_base false

Replace your_username with your actual username.

The conda config --set auto_activate_base false command prevents Conda from automatically activating the base environment on shell startup.

Step 6: Create a Conda environment

conda create --name myenv python=3.12
conda activate myenv

Step 7: Install JupyterLab and other packages within the environment

python3 -m pip install --upgrade pip
python3 -m pip install jupyterlab numpy pandas matplotlib

Step 8: Configure JupyterLab for remote access

jupyter lab --generate-config

Open the jupyter_lab_config.py file located in ~/.jupyter/ and uncomment the following lines, making sure to set your desired IP address and port:

c.ServerApp.ip = '0.0.0.0'  # Set to your server's IP or '0.0.0.0' for all interfaces
c.ServerApp.port = 8888  # Set to your desired port
c.ServerApp.open_browser = False

Step 9: Set a password for JupyterLab

jupyter lab password

Sure! Here's a refactored version of the section on saving and using the environment configuration:

Step 10: Save and Use the Environment Configuration

A. Export the Environment Configuration

  1. Activate your Conda environment:

    conda activate myenv
    
  2. Export the current environment's configuration to a file named environment.yml:

    conda env export > environment.yml
    

    This command saves the list of packages and their versions to the environment.yml file in the current directory.

  3. Verify that the environment.yml file was created:

    ls
    cat environment.yml
    

    The ls command lists the files in the current directory, and cat displays the contents of the environment.yml file.

B. Create a New Environment Using the environment.yml File

  1. To create a new environment using the environment.yml file, use the following command:

    conda env create -f environment.yml
    

    This command creates a new Conda environment with the same name as specified in the environment.yml file and installs all the packages listed in the file.

  2. Activate the newly created environment:

    conda activate myenv
    

C. Update an Existing Environment Using the environment.yml File

  1. To update an existing environment to match the specifications in the environment.yml file, use the --prune option:

    conda env update --file environment.yml --prune
    

    This command updates the existing environment, removing any packages that are not listed in the environment.yml file.

D. Share and Version Control the environment.yml File

  1. Store the environment.yml file in a GitHub repository along with your project files to version control your environment and make it easily accessible to others.

  2. To recreate the environment on another machine or in a different location, navigate to the directory containing the environment.yml file and run the conda env create command as shown in Step B.

E. Deactivate and Remove an Environment

  1. To deactivate the current environment and return to the base environment, use the following command:

    conda deactivate
    
  2. To remove an environment and all its packages, use the following command:

    conda env remove --name myenv
    

    Replace myenv with the name of the environment you want to remove.

By following these steps, you can easily export, create, update, share, and remove Conda environments using the environment.yml file. This file serves as a blueprint for your environment, ensuring reproducibility and portability across different machines and users.

Remember to replace myenv with the actual name of your environment throughout the process.

Step 11: Start JupyterLab

jupyter lab

Step 12: Access JupyterLab

From your local machine, open a web browser and navigate to http://your_server_ip:8888. Replace your_server_ip with your server's IP address or hostname, and 8888 with the port you configured in step 8 if you changed it.

Step 13: Deactivate the environment when done

conda deactivate

Additional Notes

  • To recreate the environment on another machine or share it with others, use the environment.yml file:

    conda env create -f environment.yml
    
  • For added security, consider using SSH tunneling, configuring a reverse proxy with SSL encryption, or employing firewall rules to restrict access to your JupyterLab instance.

  • Remember to replace myenv with your desired environment name and adjust the Python version and package list according to your requirements.

  • If you need to make the conda command available in your shell after the Miniconda installation, run:

    eval "$(/home/medusa/miniconda3/bin/conda shell.bash hook)"
    

    Replace medusa with your actual username.

This comprehensive guide includes all the necessary steps to set up Conda and JupyterLab on a Debian 12 server, along with additional details on saving the environment configuration, not launching Conda by default, and other helpful tips. You can store this guide on GitHub as a reference for future use.