Jupyter on your system

The jupyter command

Jupyter applications are started with commands like jupyter notebook. The jupyter command is primarily a namespace for subcommands: any command like jupyter-foo found on your PATH will be available as a subcommand jupyter foo.

The jupyter command can also do a few basic things itself:

-h, --help

Show help information, including available subcommands.

--config-dir

Show the location of the config directory.

--data-dir

Show the location of the data directory.

--runtime-dir

Show the location of the data directory.

--paths

Show all Jupyter directories and search paths.

--json

Print directories and search paths in machine-readable JSON format.

Jupyter directories

Jupyter stores different files in a number of different locations:

Configuration

Config files are stored in ~/.jupyter by default.

JUPYTER_CONFIG_DIR

Set this environment variable to use another location for Jupyter config files.

Besides the main user config directory, there is a search path of additional locations from which config will be loaded:

Unix Windows
Config directory
{sys.prefix}/etc/jupyter/
/usr/local/etc/jupyter/
/etc/jupyter/
%PROGRAMDATA%\jupyter\

Data files

Jupyter uses a search path used for installable data files, such as kernel specs and notebook extensions. Typically, code will stop at the first directory of this search path containing the resource it is looking for.

Each category of file in here is in a subdirectory of each directory of the search path. E.g. kernel specs are in kernels subdirectories.

JUPYTER_PATH

Set this environment variable to provide extra directories for the data search path. It should be a series of directory paths, separated by os.pathsep (i.e. ; on Windows, : on Unix). Directories given here are searched first.

Linux (& other free desktops) Mac Windows
JUPYTER_PATH
~/.local/share/jupyter/
(respects $XDG_DATA_HOME)
~/Library/Jupyter %APPDATA%\jupyter
{sys.prefix}/share/jupyter/
/usr/local/share/jupyter
/usr/share/jupyter
%PROGRAMDATA\jupyter

Runtime files

Things like connection files, which are only useful for the lifetime of a specific process, have their own directory.

On Linux and other free desktop platforms, this is $XDG_RUNTIME_DIR/jupyter by default. On other platforms, it’s a runtime/ subdirectory of the user’s data directory (second row of the table above).

JUPYTER_RUNTIME_DIR

Set this to override where Jupyter stores runtime files.

See also

jupyter_core.paths
The Python API to locate these directories.
The jupyter command
Locate these directores from the command line.