Creating and customizing environment definitions

To create and customize an environment definition, you must have the Admin or Editor role within the project.

You can create environment definitions for the following tools in Watson Studio:

  • Notebooks
  • Model builder
  • Flow editor

To create an environment definition:

  1. From the Environments tab in your project, click New environment definition.
  2. Enter a name and a description.
  3. Select the environment type (Default or Spark) to see the environment runtime configuration options and choose the hardware and software configuration.

    When you create a Spark environment definition for models created by using the model builder or for model flows in the flow editor, the software version must be Scala 2.11.

  4. For the default Anaconda-based environment definitions, you can create a customization and enter the packages you want to include in the template displayed in the Customization section. You can also upgrade or downgrade packages that are part of the default software configuration.

    There is a different template for Python and for R. The following example shows you how to add Python packages:

     # Please add conda channels here
     - defaults
     # Please add conda packages here
     - spacy=2.0.9
     # Please add pip packages here
     # To add pip packages, please comment out the next line
     - pip:
       - scikit-image==0.13.1

    You cannot add arbitrary notebook extensions as a customization because notebook extensions must be preinstalled. The only notebook extensions which can be enabled are the Esri ArcGIS extension and its prerequisites. When you create a runtime environment definition with the Python 3.5 software configuration, you can select to enable Esri ArcGIS. Note that you can only use the preinstalled version.

Your new environment definition is listed under Environment definitions on the Environments page of your project. From this page, you can update an environment definition, see which runtimes are active, and track the amount of capacity units per hour your runtimes have consumed so far. You can also stop runtimes from here.


Default Anaconda environments have these limitations:

  • You can’t customize the default environment definitions provided by Watson Studio.
  • Conda installs the pip packages first.
  • You can’t customize an R environment by installing R packages directly from CRAN or GitHub. You can only check if the CRAN package you want is available from conda channels and, if the package is available, add that package name in the customization list as r-<package-name>.
  • After you have started a notebook in an Watson Studio environment, you can’t create another Conda environment from inside that notebook and use it. Watson Studio environments do not behave like a Conda environment manager.

Spark environments have these limitations:

  • At this time, you can’t customize any Spark configuration parameters.
  • You can’t customize the software configuration of a Spark environment definition nor add custom libraries.

Update an existing environment definition

As Admin or Editor of a project, you can change the name, the description, and the hardware configuration of an environment definition that you created. In default environment definitions, you can change the software customization or delete it completely. The only definition setting that you cannot change is the language of an existing environment definition.

To update an environment definition you created:

  1. On the Environments page of your project, in the Active environment runtimes section check that no runtime is active for the environment definition you want to change.
  2. In the Environment definitions section, click the environment definition you want to update.
  3. Apply your changes.

Next steps