簡體   English   中英

如何使用 Anaconda 在后台運行 python 腳本? ('nohup python -u test.py &' 不起作用!)

[英]How to run python script in background using Anaconda? ('nohup python -u test.py &' doesn't work!)

我有一個簡單的 python 腳本test.py

import time
import logging

logging.basicConfig(filename='app.log', filemode='w', level=logging.DEBUG)
i=0

while i<100:
    i+=1
    logging.info(i)
    print(i)
    time.sleep(1)

我想使用 anaconda 在后台運行這個腳本。我試過: nohup python -u test.py & python關鍵字在我的機器上調用 anaconda。 似乎腳本仍然鏈接到我用來運行它的終端。 如果我關閉終端,執行將停止,如果我使用“退出”關閉終端,終端會變黑但不會關閉。 如果我使用“X”關閉,則執行停止。

觸發 python 腳本在后台運行 anaconda 的正確方法是什么?

$ conda info

     active environment : None
          conda version : 4.9.2
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __win=0=0
                          __archspec=1=x86_64
       base environment : F:\Automation\Anaconda3  (read only)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
               platform : win-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.5 Windows/10 Windows/10.0.17763
          administrator : False
             netrc file : None
           offline mode : False

用於運行腳本的終端: Git ,版本: 2.29.2.windows.3

使用您的 conda 環境的 python 可執行文件。

  1. 運行 conda info 獲取基礎環境的路徑:<base_environment_path>
  2. 要使用特定的環境,請使用其名稱,然后訪問 python bin 可執行文件:
  3. nohup <base_environment_path>/envs/<env-name>/bin/python <script_name>.py

例如

nohup /home/ubuntu/anaconda3/envs/my-env/bin/python test.py > output.txt &

您將需要知道要在其中執行代碼的環境中的 python 可執行文件的路徑。

你可以通過運行找到

康達信息

在您想要的環境中。 當您找到環境的位置時,您只需執行以下操作:

nohup <absolute path to your anaconda environment>/bin/python <YOUR SCRIPT> > output.txt &

如果你不想使用 conda info 來找到它,你可以執行這個

nohup <absolute path to your anaconda>/anaconda3/envs/<your environment>/bin/python <YOUR SCRIPT> > output.txt &

我有一個簡單的 python 腳本test.py

import time
import logging

logging.basicConfig(filename='app.log', filemode='w', level=logging.DEBUG)
i=0

while i<100:
    i+=1
    logging.info(i)
    print(i)
    time.sleep(1)

我想使用 anaconda 在后台運行此腳本。 我試過: nohup python -u test.py & python關鍵字在我的機器上調用 anaconda。 似乎該腳本仍然鏈接到我用來運行它的終端。 如果我關閉終端,執行將停止,如果我使用“退出”關閉終端,終端會變黑但不會關閉。 如果我使用“X”關閉,則執行停止。

觸發 python 腳本在后台在 anaconda 上運行的正確方法是什么?

$ conda info

     active environment : None
          conda version : 4.9.2
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __win=0=0
                          __archspec=1=x86_64
       base environment : F:\Automation\Anaconda3  (read only)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
               platform : win-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.5 Windows/10 Windows/10.0.17763
          administrator : False
             netrc file : None
           offline mode : False

用於運行腳本的終端: Git ,版本: 2.29.2.windows.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM