11
votes

I'm new to coding but I simply want to change directory and run jupyter. The problem is cmd instantly closes once it reaches the jupyter notebook command. Tried cmd /k too but it doesn't have an effect. I must being doing this wrong.

F:
cd directoryname
activate environmentname
jupyter notebook
pause

Solution: The commands were closing the prompt for some reason when executed in a .bat (they don't when typed). The fix was to type call before the commands.

F:
cd directoryname
call activate environmentname
call jupyter notebook
pause
8
Please accept your own answer that you've given below, as it is your accepted solution (and it also helped me :) )Tony Sepia

8 Answers

6
votes

The commands were closing the prompt for some reason when executed in a .bat (they don't when typed). The fix was to type call before the commands.

F:
cd directoryname
call activate environmentname
call jupyter notebook
pause
4
votes

For Jupyter, use:

%USERPROFILE%\Anaconda3\python.exe %USERPROFILE%\Anaconda3\cwp.py %USERPROFILE%\Anaconda3 %USERPROFILE%\Anaconda3\python.exe %USERPROFILE%\Anaconda3\Scripts\jupyter-notebook-script.py "**file location**"

for Jupyter lab:

%USERPROFILE%\Anaconda3\python.exe %USERPROFILE%\Anaconda3\cwp.py %USERPROFILE%\Anaconda3 %USERPROFILE%\Anaconda3\python.exe %USERPROFILE%\Anaconda3\Scripts\jupyter-lab-script.py %USERPROFILE%

Save it in a .bat file, with necessary changes at 'UserName' and 'File Location' . Keep it as a single line. Just double click the file to open jupyter notebook at the location. Note: File Location is the location of the notebook to open.

Alternatively, you can use the same commands to create windows shortcut, without the need for the .bat file:

  1. On the desktop, right-click -> new -> shortcut.
  2. As the location of the item, paste the code above.

Then, you can double click the shortcut to launch jupyter. Unlike the bat file, you can also pin this shortcut to taskbar.

For details on how to setup jupyter lab, check out Running JupyterLab as a Desktop Application in Windows 10

3
votes

Assuming activate and jupyter are executables or otherwise valid commands, everything should be okay. Since you're saying the cd command is probably the culprit, try the below:

Perhaps you are trying to change to a directory on a different drive... if this is the case you will need to use cd /d directoryname instead.

If this doesn't work, try putting a bunch of pause statements between each command to see exactly where it is breaking.

3
votes

Create a simple batch file (jnote.bat):

@echo off
call jupyter notebook "%CD%"
pause

In the same folder create a shortcut to the batch file and rename it to jupyter-notebook.

Open the shortcut properties and change the icon to the jupyter.ico. You will find this in the .\Menu sub-folder in your Anaconda distribution. You should now have a shortcut with the) nice jupyter icon.

Copy the shortcut to all the folders that you use for your notebooks. Double-click the shortcut to open jupyter-notebook that folder.

1
votes

I found an alternative way to solve this problem without a .bat.

Search your start menu for "Jupyter Notebook". You should find a shortcut called:

"Jupyter Notebook (environmentname)"

This short cut was created when I set up my environment. In my case environmentname is py35.

To change the directory that Jupyter Notebook starts in find the "Anaconda Prompt" shortcut. Then open "Properties>Shortcut" and change the "Starts in:" field to your desired directory.

0
votes

If you did not add conda to your path, the following script might be helpful for you. According to https://docs.anaconda.com/anaconda/install/multi-user/ you might even want to check C:\ProgramData\Anaconda but I didn't want to add something to the Batch script that I haven't checked myself.

:: Starts JupyterLab

SET CONDA_ENV=my-specific-conda-environment-name

where conda 2> nul
IF ERRORLEVEL 1 (
    ECHO "Conda is not available in your PATH. Guessing the location of the installation..."
    CALL C:\Users\%USERNAME%\Anaconda3\Scripts\activate %CONDA_ENV% || (
        ECHO "Either Conda or the environment was not found."
        PAUSE
    )
) ELSE (
    CALL activate %CONDA_ENV%
)

CALL jupyter lab || (
    ECHO "JupyterLab encountered an error, please check the error message"
    PAUSE
)

0
votes

here is the batch file for this problem

cd directoryname
call activate envName
start jupyter notebook
-1
votes

This is my code. It starts jupyter notebook in the directory it is saved:

@echo on 

cd 'your_path_to_anaconda' /condabin
call activate.bat
cd %~dp0
call jupyter notebook
cmd \k