启动 conda 并打开 Jupyter Notebook 的批处理文件不会在“退出”行关闭

问题描述 投票:0回答:1

我创建了一个

.bat
文件,该文件在我的
base
环境中启动 conda,然后打开 Jupyter Notebook。这是代码:

@echo off
call conda activate base
cd C:\Users\{myUserName}\OneDrive\Documents\Udemy Python Course\My Lesson Scripts
jupyter lab

一切都很好。 cmd 窗口打开,我在命令窗口滚动中看到“成功链接/加载”等行,并且使用 Jupyter Notebook 打开浏览器选项卡,一切都从那里开始。

但是我也希望在浏览器中打开选项卡后自动关闭 cmd 窗口,所以我添加了

exit

在bat文件末尾但cmd窗口没有关闭。因此,为了查看蝙蝠脚本是否到达那里,我添加了

echo Closing...
timeout 10 >nul

exit
行之前。

确保 Jupyter Notebook 选项卡在浏览器中打开后,我检查了 cmd 窗口,发现“正在关闭...”不在窗口底部,因此还没有达到这一点。

然后我进入 Jupyter Notebook,在“文件”菜单中单击“关闭”,快速调出打开的 cmd 窗口,果然,“正在关闭...”显示,10 秒后 cmd 窗口关闭。

因此,批处理文件实际上正在等待服务器/(服务?)停止,然后才能自行关闭。

我知道在 Jupyter Notebook 打开的情况下,我正在那里做一些事情 - 运行单元格等,关闭 cmd 窗口对 Jupyter 的操作没有影响,所以我想知道是否有一种方法可以“绕过” cmd 窗口/批处理文件等待服务器关闭并自己从批处理文件中强制关闭 cmd 窗口。

python batch-file jupyter-notebook conda
1个回答
0
投票

使用 Start,而不是直接运行您想要运行的任何内容,使用

/B
来运行它而不打开新窗口。

对于文档:

在批处理脚本中,不带 /wait 的 START 命令将运行程序并继续,因此仅包含 START 命令的脚本将关闭 CMD 控制台并让新程序继续运行。

@ECHO OFF
call conda activate base
cd C:\Users\{myUserName}\OneDrive\Documents\Udemy Python Course\My Lesson Scripts
START "Jupyter" /B "jupyter lab"
exit
© www.soinside.com 2019 - 2024. All rights reserved.