419
votes

I tried following the instructions given on the Jupyter Notebook documentation.

Unfortunately, I haven't been able to figure it out. Where exactly is this "start in" field?

I've a windows 7 (64 bit) system, with Anaconda3 installed (not in C drive). I want to change Jupyter start folder location.

30

30 Answers

553
votes

Use the jupyter notebook config file:

Open cmd (or Anaconda Prompt) and run jupyter notebook --generate-config.

This writes a file to C:\Users\username\.jupyter\jupyter_notebook_config.py.

Browse to the file location and open it in an Editor

Search for the following line in the file: #c.NotebookApp.notebook_dir = ''

Replace by c.NotebookApp.notebook_dir = '/the/path/to/home/folder/'

Make sure you use forward slashes in your path and use /home/user/ instead of ~/ for your home directory, backslashes could be used if placed in double quotes even if folder name contains spaces as such : "D:\yourUserName\Any Folder\More Folders\"

Remove the # at the beginning of the line to allow the line to execute

212
votes

cd into the directory or a parent directory (with the intended directory you will work nested in it).

Note it must be a folder (E:\> --- This will not work)

Then just run the command jupyter notebook

161
votes

I am on Windows 10 but same version of Anaconda.

  1. Click on the Start Menu, then All Programs (just Programs for Win10)
  2. Click on the Anaconda3 folder; mine is Anaconda3 (64-bit)
  3. In there you should see Jupyter Notebook. If you have a virtual environment installed, it will be followed by the environment name like this: Jupyter Notebook (env)
  4. Right-click Jupyter Notebook entry and navigate to More => Open File Location
  5. Right-click the correct Jupyter Notebook entry, then click on Properties
  6. Enter a path in the Start in: box; if the path has spaces in it, you must enclose it in double quotes
  7. Delete "%USERPROFILE%" at the end of the executable path

User navigating to Anaconda3 folder (in Windows ; in AppData), editing properties of "Jupyter Notebook" shortcut, to change its "Start in" command to point to a directory where you want Jupyter to start

116
votes

First try to run

jupyter notebook --notebook-dir="C:/Your/Desired/Start/Directory/"

in a command line (cmd) to see if the Jupyter notebook opens at the desired location.

If yes, then you can make it a shortcut by:

  1. In a Windows File Explorer or on the desktop, Right click > New > Shortcut

  2. Enter the following location and click next:

jupyter notebook --notebook-dir="C:/Your/Desired/Start/Directory/"

  1. Enter a name for your shortcut and finish

Now you have a shortcut to start Jupyter at the location you want. This works on Windows 7, macOS, and Linux. For windows best to enclose the path in double quotes " as single quotes ' will not work if there is a space in the pathname

Note if you found the error saying the path is not valid, try using common slash / instead of backslash \ in the path like jupyter notebook --notebook-dir="D:/"

52
votes

I just had the same problem and tested the methods mentioned above. After several trials, I realized that they are partially correct and are not the complete solution. I tested the below in Windows 10 and Anaconda 4.4.0 with python 3.6.

There are two ways to do even though they have only very small difference. Follow the way marneylc suggested above: i.e.

1) Open "Anaconda Prompt" and type jupyter notebook --generate-config

2) You find the file in C:\Users\username\.jupyter\jupyter_notebook_config.py

3) Change the line of #c.NotebookApp.notebook_dir = '' to c.NotebookApp.notebook_dir = 'c:\test\your_root\'

4) Then, go to the shortcut of Jupyter Notebook located in C:\Users\User_name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)

5) Do the right click and go to the Properties

6) In the Target field, remove %USERPROFILE% as stenlytw suggested above.

7) Then, In the field of Start in, type the same directory of c:\test\your_root\ in jupyter_notebook_config.py

8) Done!

As the simpler way, after step 3, go to C:\Users\User_name\Anaconda3\Scripts

4-2) You can see the file of jupyter-notebook.exe and click it.

5-2) Then, the Jupyter start the folder you specified in jupyter_notebook_config.py. So make the shortcut of this file.

6-2) Done.

35
votes

So the answers above helped, but please allow me to make it clear so other people who aren't very familiar with MS-Windows can work it out in the same way:

This issue happens when Windows 10 installs Anaconda with Python, Ipython, and Jupyter Notebook.

First open the Anaconda Prompt and type the following into the prompt:

jupyter notebook --generate-config

You will get something like this: enter image description here

You don't have to do anything on the prompt anymore. I didn't snapshot my full address because of privacy, but it shows something like:

C:\Users\name\.jupyter

Find this folder on your C: drive, and in this folder, find the python file jupyter_notebook_config.py. Drag the file into a Notepad ++ to edit it. When editing, look around line 214, for the string that looks like:

#c.NotebookApp.notebook_dir = ''

Uncomment it, i.e., delete the "#" in the first column. Now add our target folder address into the ' ' like this:

c.NotebookApp.notebook_dir = 'C:\\Users\\name\\Desktop\\foldername'

Then save the file. Then open anaconda prompt again, type jupyter notebook. This should launch Jupyter Notebook in the browser in the folder with the above address. Here, the key point is to UNCOMMENT (which means to delete) the # at front of the line, and then, USE \\ double slashes (for the path separator) between folders. If you use only single slashes \, it won't work.

That's all.

31
votes

You can change the configuration from conda command line:

  • run anaconda command prompt
  • run jupyter notebook --generate-config
  • a directory .jupyter/ should have created in your home with a file jupyter_notebook_config.py
  • uncomment and edit the field c.NotebookApp.notebook_dir

credit to Clement https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/gqRwT_SxGBw

28
votes

I'm using windows 7 (64 bit) with Anaconda2. In the start menu, right click Jupyter Notebook -> Properties. In the Target field, change %USERPROFILE% to your new "D:\path".

                         jupyter

17
votes

For Windows 10:

  1. Look for Jupiter notebook shortcut (in Start menu>Anaconda).
  2. Right click and Properties.
  3. Add the path that you would like (but use / not \ for path) as showed on the screenshot:

enter image description here

6
votes

This question is quite old and the problem seems to have been solved, but if only to remind myself next time I am facing this problem, here is another solution (tested only on Windows 10, though).

The shortcut for the jupyter notebook (be it from the start menu, a desktop shortcut or pinned to the taskbar) calls a number of Scripts (presumably to initialize the jupyter notebook etc.), which are written in the Target text field from the shortcut's Properties window. Appending

--notebook-dir='C:/Your/Desired/Start/Directory/'

should start the notebook in the specified directory (as @Victor O pointed out, it cannot be a drive, but has to be a folder).
If that doesn't do the trick, it can't hurt to also add the same directory to the Start in field.

Note: I used forward-slashes in the Target field and back-slashes in the Start in field. Feel free to change that up, if you are curious which combinations are working.

Also, this was not my idea, but I forgot where it came from (I checked the shortcut from my previous installation, because I was sure not to have tried anything from this page, but the proposed way from the link the OP provided.). If anyone wants to supply the link, please do so.

Sorry if I can't add any fundamental research to this, but the solution worked for me on four separate systems and is fairly simple to implement.

6
votes

The easiest and the simple way to open Jupyter Notebook from the desired location is to open Anaconda Prompt(possible only if you installed Python using Anaconda Distribution).

Open the desired location in Windows File Explorer, copy the desired location from the address bar of Windows File Explorer. Alt + D goes to the address bar and Ctrl + C copies the location.

Windows File Explorer

Now open the Anaconda Prompt and type the following command:

cd D:\desired location

Somehow, the Anaconda Prompt returns to the original location. Enter 'd:' and the prompt will reach your desired location(as shown in the image below). Note that you must enter the drive letter of your desired location(C: for C:\ drive-the primary partition).
Anaconda Prompt

Afterward, type 'jupyter notebook' and the Jupyter Notebook will be opened. Anaconda Prompt

Note that the Jupyter Notebook's home page does not list anything as the folder is empty. Jupyter Notebook

Once a Python3 notebook is created, the home page will list the files. Jupyter Notebook

This way you can open Jupyter Notebook from any location, without having to deal with all the complexities of going to the installed location and making the necessary tweaks.

5
votes

agree to most answers except that in jupyter_notebook_config.py, you have to put

#c.NotebookApp.notebook_dir='c:\\test\\your_root'

double \\ is the key answer

4
votes

This method may not be relevant to your problem but to me it is quite useful.

Just type "cmd" in the address bar to open the Command Prompt, and then "jupyter notebook".

Via this method, you can quickly open Anaconda jupyter from any path you currently staying on Windows system.

enter image description here enter image description here

3
votes

A nice tip is to just navigate to your desired start folder in Windows Explorer:

  • click File
  • click Open command prompt
  • then just type "jupyter notebook" and press enter

a web browser should pop up shortly with the correct start folder.

3
votes

If your goal is to permanently change the start-up location. You can do so by changing the shortcut for the notebook. Assuming you are on Windows 10

  1. Press start and find Jupter Notebook in the Anaconda Folder
  2. Right click -> More -> Open File location
  3. Right click the Jupyter Notebook short cute -> Properties
  4. Now in target: you will see something at the end that looks like: "%USERPROFILE%/". Replace the contents of %USERPROFILE%/ with your desired DIRECTORY. e.g. "D:\GoogleDrive"

Good Luck

3
votes

Open Anaconda Prompt and write to open a notebook folder in G drive jupyter notebook --notebook-dir 'G:' there is no "="

2
votes

Below is how the same issue I faced got resolved. Most of the steps I took to solve the issues are already described in the solutions provided earlier by others.

There are two ways to start Jupyter Notebook application

  1. From Anaconda Navigator
  2. Using the shortcut (name: Jupyter Notebook) to Jupyter Notebook application. In Windows OS it is normally available in the folder: "C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)"

There are different ways to configure Jupyter Notebook application to save the notebooks in a folder other than the default.

If using Anaconda Navigator to launch notebook

In case of using the Anaconda navigator to launch Jupyter notebook application, the way to configure is to un-comment the "c.NotebookApp.notebook_dir" field in "jupyter_notebook_config.py" and add the path. After updating the field looks like: c.NotebookApp.notebook_dir = <Enter the absolute path here>

In case of Windows and when Anaconda is installed for a particular user, this file is located in C:\Users\<USERNAME>.jupyter.

If you don;t find ".jupyter" folder then do the below steps to create it

  1. Run anaconda command prompt
  2. At the command prompt run "jupyter notebook --generate-config"

If using the shortcut (name: Jupyter Notebook) to Jupyter Notebook application to launch it

If you examine the command in the target box of this shortcut, you will notice that Notebook app is started by executing the file "C:\Users\<USERNAME>\Anaconda3\Scripts\ jupyter-notebook-script.py" which accepts a path parameter.

The basic approach to define the location where the notebook files will be saved is --> to provide the path of the required folder when starting the Jupyter Notebook application. This can be done in two ways:

  1. Create an environment variable to point to the required folder and use it as parameter
  2. Define the absolute path in the shortcut itself

Follow the below steps: (Note: Replace the text in angle brackets with the actual text)

  1. Locate the shortcut "Jupyter Notebook". When Anaconda was installed for a particular user (during installation the choice selected was for the user only) the shortcut (Name: "Jupyter Notebook", Type: Shortcut) resided in "C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)"
  2. Right click on the shortcut and select "Properties"
  3. In the "Target" box locate C:\Users\<USERNAME>\Anaconda3\Scripts\jupyter-notebook-script.py %USERPROFILE%
  4. Replace "%USERPROFILE%" with

    a. Either: the environment variable created to point to the folder where you want to store the notebook files. The command will look like: C:\Users\<USERNAME>\Anaconda3\Scripts\jupyter-notebook-script.py %<ENVIRONMENTVARIABLE>%

    b. OR: the absolute path to the work folder you want the notebook files to be stored in. The command will look like: C:\Users\<USERNAME>\Anaconda3\Scripts\jupyter-notebook-script.py <F://folder//subfolder>

  5. Replace the text (path) in "Start In" box with:

    a. Either: the environment variable created to point to the folder where you want to store the notebook files. The text in "Start In" box will look like: %<ENVIRONMENTVARIABLE>%

    b. OR: the absolute path to the work folder you want the notebook files to be stored in. The text in "Start In" box will look like: <F://folder//subfolder>

Note 1: If there are spaces in the path then the whole path should be enclosed in double quotes.

Note 2: The paths in this solution apply to the situation when Anaconda 3 (and Jupyter 3) is installed on Windows for a particular user (not for all users).

I personally preferred to define environment variable rather than hard coding the path in the shortcut.

2
votes

This is the solution I found for Windows 10 Anaconda Navigator.

step 1: Search for Jupyter Notebook and navigate to the file location. It is something like below

file location

Step 2: Right click on Jupyter Notebook and go to Properties. Add your directory to Target. Mine was "D:\Education\Machine Learning"

Properties setting

Step 3: Do not launch Jupyter Notebook from Anaconda Navigator. Use the above shortcut instead.

1
votes

I've just installed Anaconda on Windows 10 and have been trying to configure Jupyter to open in my specified directory, including updating the Jupyter config file as suggested above. This didn't work. After viewing other threads, I stumbled on file "notebook.bat" in the .anaconda\scripts\ folder. This launches Jupyter. I took a copy of the .bat file into the folder I want to work in, ran it, and voila - Jupyter launches in that folder and I no longer see every folder on my PC, just the one I want. One desktop shortcut later and I'm a happy 'non-techy'. I hope this helps.

1
votes

You can make windows bat file like this.

D: (your dexired drive)
cd \Your\Desired\Start\Derectory
Jupyter notebook

Save it as 'JupyterNB.bat' (or whatever you like), and double click it.

1
votes

After many tries I have done it. I have mentioned the easiest steps below:

  1. Right click on the jupyter launcher icon from start menu or desktop or anaconda navigator

  2. Now you need to change 2 things on the screen: Add your path to both target and start in the properties window

    Caveats:

    a. Your path needs to be in the same drive as the drive in which jupyter is installed. Since mine was in C drive, I used the following path "C:/JupyterWorkLibrary"

    b. For target, at the end of the existing path, i.e, after sript.py", add this after a space. Some people have mentioned removing %USERPROFILE% from target. I did not come across this. Image for jupyter properties

    c. For start in, add the same path. I have used a path without spaces to avoid issues. I would also suggest stick to using path in double quotes anyways d.I have also used forward slashes in the path

  3. Now just launch the notebook. It should open into the right folder.

Hope this helps.

PS: I am sure there are other ways, this worked for me. I am not even sure of the constraints mentioned. It's just that with these steps I could get my job done.

1
votes
  • Try to navigate to folder from which you want to run the jupyter notebook files.
  • Right click in the explorer and click on Open in Terminal enter image description here
  • Then type the command jupyter notebook to run the Notebook from the desired location. enter image description here enter image description here
1
votes
jupyter notebook --notebook-dir=%WORKING_DIR%,

where %WORKING_DIR% (H:\data\ML) - directory where you're going to work

It is the simplest one-line command way, IMHO

0
votes

You can use a program called FileMenuTools from Lopesoft for your command prompt and just type 'jupyter notebook'.

Alternatively, you can also use it to create a dedicated shortcut using program C:/windows/System32/cmd.exe and arguments /k jupyter notebook --notebook-dir="%FOLDERPATH%" but this opens the notebook in the parent folder so you have to click down.

0
votes

In case you are using WinPython and not anaconda then you need to navigate to the directory where you installed the WinPython for e.g. C:\WPy-3670\settings\.jupyter\jupyter_notebook_config.py

You need to edit this file and find the line #c.NotebookApp.notebook_dir = '' change it to for e.g. c.NotebookApp.notebook_dir = 'D:/your_own_folder/containing/jupyter_notes'

You also need to change backslash \to forward slashes /. also make sure to uncomment the line by removing #

0
votes

This is what I do for Jupyter/Anaconda on Windows. This method also passes jupyter a python configuration script. I use this to add a path to my project parent folder:

1 Create jnote.bat somewhere:

@echo off
call activate %1
call jupyter notebook "%CD%" %2 %3
pause

In the same folder create a windows shortcut jupyter-notebook

        TARGET: D:\util\jnote.bat py3-jupyter --config=jupyter_notebook_config.py
        START IN: %CD%

jupyter-notebook shortcut

Add the jupyter icon to the shortcut.

2 In your jupyter projects folders(s) do the following:

Create jupyter_notebook_config.py, put what you like in here:

import os
import sys
import inspect

# Add parent folder to sys path

currentdir = os.path.dirname(os.path.abspath(
    inspect.getfile(inspect.currentframe())))

parentdir = os.path.dirname(currentdir)

os.environ['PYTHONPATH'] = parentdir

Then paste the jupyter-notebook shortcut. Double-click the shortcut and your jupyter should light up and the packages in the parent folder will be available.

0
votes

The Best and Easiest way is stated in the jupyter begineers guide : [https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html] It has solution of Windows and Mac , solution for Mac is also applicable for Ubuntu or any linux distro.

Hope it was helpful . Did try to add this as a comment but dint have sufficient reputation points for that .

0
votes

As of 2020, for Windows...

The configuration is for an installation from miniconda, but it'll be the same for anaconda. The shortcut can be modified by looking at its properties. The target of the link has this format:

  • C:\Users\A_User\miniconda3\python.exe C:\Users\A_User\miniconda3\cwp.py C:\Users\A_User\miniconda3 C:\Users\A_User\miniconda3\python.exe C:\Users\A_User\miniconda3\Scripts\jupyter-notebook-script.py "%USERPROFILE%\Documents\Jupyter"

There are three parts:

1: The first part launches a wrapper

C:\Users\A_User\miniconda3\python.exe C:\Users\A_User\miniconda3\cwp.py

This wrapper ensures the third part (which is the actual shortcut) can be executed with the proper configuration, depending on the environment chosen for execution. Code is here.

2: The path to the Script folder

Scripts are in a subfolder Scripts of the folder used for each environment. Give the path to the environment you want, the wrapper will do the rest. In my case I'm using the base environment:

C:\Users\A_User\miniconda3

This fragment is passed to the script which identifies it as variable prefix, the full path computed from the variable and then added at the beginning of environment variable PATH and also replaces the current content of CONDA_PREFIX.

3: The command to run

This is the command to be processed by the previous wrapper:

C:\Users\A_User\miniconda3\python.exe C:\Users\A_User\miniconda3\Scripts\jupyter-notebook-script.py "%USERPROFILE%\Documents\Jupyter"

It runs Python with the jupyter-notebook-script.py script to launch Jupyter notebook, and it adds the specific initial folder "%USERPROFILE%\Documents\Jupyter" which corresponds to the location I use to store notebook files. This path is the one you asked for.

The paths can be adjusted to your specific configuration and preferences for environment to use and storage.

0
votes

If you are working with jupyter lab and want to modify the configure file, the parameter need to be updated is :

c.ServerApp.root_dir = /path/to/directory/you/want

0
votes

For Windows users, here is a snippet to let you right click folders and open Jupyter Lab there.

enter image description here

def add_jupyter_to_context_menu(self):
    import winreg

    key = winreg.HKEY_CURRENT_USER
    command_value = rf'cmd.exe /k jupyter lab --notebook-dir="%V"'

    handle = winreg.CreateKeyEx(key, "Software\Classes\directory\Background\shell\Open with JupyterLab\command", 0,
                                winreg.KEY_SET_VALUE)
    winreg.SetValueEx(handle, "", 0, winreg.REG_SZ, command_value)

    # You need to download the icon yourself, or leave this part out for no icon
    icon_value = fr"C:\some_folder\jupyter_icon.ico"
    handle = winreg.CreateKeyEx(key, "Software\Classes\directory\Background\shell\Open with JupyterLab", 0,
                                winreg.KEY_SET_VALUE)
    winreg.SetValueEx(handle, "icon", 0, winreg.REG_SZ, icon_value)

def remove_jupyter_from_context_menu(self):
    import winreg
    key = winreg.HKEY_CURRENT_USER
    winreg.DeleteKey(key, "Software\Classes\directory\Background\shell\Open with JupyterLab\command")
    winreg.DeleteKey(key, "Software\Classes\directory\Background\shell\Open with JupyterLab")