【问题标题】:How to run python script in background using Anaconda? ('nohup python -u test.py &' doesn't work!)如何使用 Anaconda 在后台运行 python 脚本? ('nohup python -u test.py &' 不起作用!)
【发布时间】:2021-04-06 20:56:51
【问题描述】:

我有一个简单的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 &amp;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

【问题讨论】:

    标签: python windows anaconda git-bash


    【解决方案1】:

    使用您的 conda 环境的 python 可执行文件。

    1. 运行 conda info 以获取基本环境的路径:
    2. 要使用特定环境,请使用其名称,然后访问 python bin 可执行文件:
    3. nohup &lt;base_environment_path&gt;/envs/&lt;env-name&gt;/bin/python &lt;script_name&gt;.py

    例如

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

    【讨论】:

      【解决方案2】:

      您需要知道要在其中执行代码的环境中 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 &
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-12
        • 1970-01-01
        • 1970-01-01
        • 2022-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多