我有一個批處理檔案,用于運行我的 jupyter 實驗室。
檔案.bat
call <anaconda_dir>\Scripts\activate.bat rasa_ai_conda
jupyter lab
conda deactivate
call conda.bat deactivate
這個批處理檔案將使用 windows 提示符在 anaconda 中激活我的 rasa 虛擬環境。
所以現在當我按下ctrl c關閉我的 jupyter 實驗室時,它會問這個
Terminate batch job (Y/N)?
首先,即使我輸入“N”,提示也會關閉,我該如何解決這個問題。
其次,我希望在提示退出之前執行所有腳本,我該怎么做?
嘗試尋找解決此問題的方法,但仍然無法找到解決方案。
uj5u.com熱心網友回復:
所以,我終于找到了解決這個問題的方法。據我了解,這就是正在發生的事情。如果我錯了,請糾正我。
所以,原來 jupyter lab 也在呼叫自己的批處理檔案。與呼叫 .exe 檔案不同,它取代了 cmd (當前行程)。當 jupyter lab 實體關閉時,它基本上結束了行程,即替換了 cmd 行程的 jupyter lab 行程,依次關閉提示,因為它認為這是行程的結束。
但是當我們使用call一個新的行程被初始化時,保持原來的行程即 cmd 提示符在后臺運行。
所以,當當前正在運行的行程即jupyter lab關閉時,控制權轉移到上一個行程即cmd提示符下,繼續運行下一條命令直到結束。
在上面的批處理檔案中,我們只需要進行這些更改
call <anaconda_dir>\Scripts\activate.bat rasa_ai_conda
call jupyter lab
call conda.bat deactivate
即使在按下 后終止 jupyter 實驗室服務器實體后,這也會運行所有命令ctrl c。因此,如果我們輸入nfor Terminate batch job (Y/N)?,jupyter lab 之后的命令也會運行。
這解決了我的兩個問題。
如果我理解正確,請告訴我。如果不是,請對正在發生的事情給出正確的解釋。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/462623.html
標籤:Python 批处理文件 命令 jupyter实验室 蟒蛇3
上一篇:將命令結果輸出到檔案
