使用 .bat 文件切换目录并运行 Jupyter

20

我是编程新手,但我只想更改目录并运行jupyter。问题是cmd窗口一旦到达jupyter notebook命令就立即关闭了。尝试过cmd /k,但没有效果。我肯定做错了什么。

F:
cd directoryname
activate environmentname
jupyter notebook
pause

解决方案:执行.bat文件时,这些命令会关闭提示符窗口(但直接输入命令时不会)。解决方法是在命令前键入“call”。

F:
cd directoryname
call activate environmentname
call jupyter notebook
pause

1
请接受您在下面提供的答案作为您的采纳解决方案(它也帮助了我 :)) - tonysepia
这对我也有帮助,之前使用“pip install jupyter”安装了jupyter。如果您将其作为软件包的一部分安装(例如conda),则其他答案可能更相关。 - Levin Magruder
11个回答

10

在执行.bat文件时,某些原因导致命令关闭了提示符(但在键入命令时没有出现这种情况)。修复方法是在命令前键入call。

F:
cd directoryname
call activate environmentname
call jupyter notebook
pause

原因:activatejupyter是批处理文件(activate.batjupyter.bat)。只需执行它们即可将控制权转移给它们,当它们完成时,解析器就完成了(当您双击第一个脚本时,窗口会关闭)。当被调用的脚本结束时,Call将控制权返回到原始脚本。 - Stephan

4

对于Jupyter,使用以下命令:

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

对于Jupyter lab:

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

将其保存在一个.bat文件中,在“UserName”和“File Location”处进行必要的更改。保持它作为一行。只需双击该文件即可在指定位置打开Jupyter笔记本。

或者,你可以使用相同的命令创建windows快捷方式,而无需使用.bat文件:

  1. 在桌面上,右键单击->新建->快捷方式。
  2. 将上面的代码粘贴到项目的位置中。

然后,你可以双击该快捷方式启动Jupyter。与bat文件不同,你还可以将此快捷方式固定到任务栏。

有关如何设置Jupyter lab的详细信息,请查看在Windows 10中运行JupyterLab作为桌面应用程序


1
太聪明了。我还发现,通过将 jupyter-notebook-script.py 替换为 jupyter-lab-script.py,如果需要的话,您可以运行 Jupyter Lab。 - ffi

4
创建一个简单的批处理文件(jnote.bat):
@echo off
call jupyter notebook "%CD%"
pause

在同一个文件夹中创建一个批处理文件的快捷方式,并将其重命名为jupyter-notebook。
打开快捷方式属性并将图标更改为jupyter.ico。您可以在Anaconda发行版的.\Menu子文件夹中找到该文件。现在您应该有一个带有漂亮的jupyter图标的快捷方式。
将快捷方式复制到您用于笔记本的所有文件夹中。 双击快捷方式以打开jupyter-notebook这个文件夹。

3
假设 activatejupyter 是可执行文件或其他有效命令,一切都应该没问题。既然你说 cd 命令可能是罪魁祸首,那么请尝试以下操作:
也许你正在尝试更改到另一个驱动器上的目录......如果是这种情况,你需要使用 cd /d 目录名称
如果这不起作用,请在每个命令之间放置一堆 pause 语句以查看它在哪里中断。

所有命令之间和之后的暂停会导致在运行 activate environmentname 后 cmd 立即关闭(它跳过了后续命令的暂停)。但是,无论是 cmd /k activate environment 还是 cmd /k jupyter notebook 都可以正确运行任一命令。但我不能使用此方法同时运行两个命令。 - Jubei

3
您只需使用以下简单代码:
d: & activate your_env & jupyter notebook

它对我真的很有效


这是唯一对我有效的方法!!! 当使用jupyter-lab时,所有其他使用“call”和“pause”命令的选项会立即关闭服务器,导致出现“服务器连接错误”...无法建立连接。 - J.T.

1
我找到了一种无需 .bat 文件解决此问题的替代方法。
在开始菜单中搜索“Jupyter Notebook”。您应该会找到一个名为“Jupyter Notebook(environmentname)”的快捷方式。
这个快捷方式是在我设置我的环境时创建的。在我的情况下,environmentname 是 py35。
要更改 Jupyter Notebook 启动的目录,请查找“Anaconda Prompt”快捷方式。然后打开“属性> 快捷方式”,并将“起始位置:”字段更改为您想要的目录。

0

这是解决此问题的批处理文件

cd directoryname
call activate envName
start jupyter notebook

0
如果您没有将conda添加到路径中,下面的脚本可能会对您有所帮助。根据https://docs.anaconda.com/anaconda/install/multi-user/,您甚至可能想要检查C:\ProgramData\Anaconda,但我不想在批处理脚本中添加我自己没有检查过的内容。
:: 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

这是我用来激活虚拟环境并运行笔记本的命令。

@echo off
call env\Scripts\activate
call jupyter-lab

将此保存为 .bat 文件,这样我只需运行它即可打开笔记本。

0

目前我找到的最好的解决方案,无需创建自定义批处理文件:

  1. 进入 C:\Users\<youruser>\<Anaconda3 or miniconda3>\Scripts\activate.bat 中的 activate.bat

  2. 右键单击并从桌面创建对 activate.bat 的链接

  3. 右键单击更改链接选项卡中的属性

  4. 在Target中输入:%UserProfile%\<Anaconda or miniconda3>\Scripts\activate.bat <your-env-name> && @CALL jupyter lab (当您不知道环境名称时,可以在文件 C:\Users\<youruser>\.condaenvironments.txt 中检查)

  5. 在下面的字段中,输入项目文件夹的路径(不是环境),这是脚本开始的地方。

  6. 完成后,您可以编辑链接的图标/标题等并执行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接