When you create a new project in Data Science & AI Workbench, you must select a base environment for the project. Anaconda provides several base Anaconda environments, along with Python, R, or Hadoop-Spark environments for you to choose from.

If these environments do not suit your needs, you can create a custom environment, then include it in the list of environments that are available upon project creation.

Creating your environment

  1. Log in to Workbench as a user with administrator permissions.

    The anaconda-enterprise user has the proper permissions.

  2. Click Create and select New Project.

  3. Select any Environment and Resource Profile, then click Create.

  4. Open a session for the project.

  5. Open a terminal in the project session.

  6. Configure conda to create new environments in the environments directory by running the following command:

    export CONDA_ENVS_DIRS=/opt/continuum/envs
    export CONDA_PKGS_DIRS=/opt/continuum/envs/.pkgs
    
  7. Use conda to create or clone your custom environment.

    Here is an example command for creating a conda environment:

    # Replace <ENV> with a name for your new environment
    conda create -y --clone <CLONE_ENV> --name <ENV>
    

    python and ipykernel must be included in every environment you create for Workbench.

Providing your environment to users

There are two methods for providing your environment to your users:

  • Place the environment in the sample projects gallery and allow other users to clone the environment as a project.
  • Include the environment as an available option in the Environment dropdown when creating a new project.

Both of these methods are accomplished by creating a project template archive (.tar.bz2) file that uses the environment you just created, and then placing the file in the correct directory.

The project template archive file must contain, at a minimum, the anaconda-project.yml file. For more information and help building projects, see the official Anaconda Project documentation.

  1. In your terminal, navigate to the project directory by running the following command:

    cd /opt/continuum/project
    
  2. Create a directory to store an anaconda-project.yml file for your custom environment by running the following command:

    # Replace <PROJECT> with the name of your project
    mkdir <PROJECT>
    
  3. Create a copy of your current project’s anaconda-project.yml file in the directory you just created by running the following command:

    # Replace <PROJECT> with the name of your project
    cp anaconda-project.yml <PROJECT>
    
  4. Enter the project directory you just created by running the following command:

    # Replace <PROJECT> with the name of your project
    cd /opt/continuum/project/<PROJECT>
    
  5. Using your preferred file editor, edit the anaconda-project.yml file in your project directory to represent your custom environment. This involves updating the name:, description:, packages:, and env_specs: sections of the file.

    Delete the commented section below env_specs: showing available packages. It is likely that these do not align with your custom environment.

    Your project’s name: will display on the Sample Projects grid or the Environments dropdown list after the project is created.

  6. Create an archive file for the project, then set permissions for it by running the following commands:

    # Replace <PROJECT> with your project name
    cd /opt/continuum/project
    tar cfj <PROJECT>.tar.bz2 <PROJECT>
    chmod 644 <PROJECT>.tar.bz2
    

    This archive file is the template that other projects will use as a starting point for their own projects.

  7. Move your project archive file to the sample project gallery by running the following command:

    # Replace <PROJECT> with your project name
    mv /opt/continuum/project/<PROJECT>.tar.bz2 /gallery
    
  8. Enter the sample gallery directory by running the following command:

    cd /gallery
    
  9. (Optional) If you want to include the environment as an available option in the Environment dropdown when creating a new project, add the project archive file name (<PROJECT>.tar.bz2) to the TEMPLATES file. Save and close the file when complete. Otherwise, skip this step.

  10. Update the sample projects gallery to include your project by running the following command:

    python reindex.py
    
  11. Verify that you can either find and select your sample project on the Sample Projects page, or select your environment from the Environment dropdown when creating a new project.