【问题标题】:how to run a conda environment based script via rc.local如何通过 rc.local 运行基于 conda 环境的脚本
【发布时间】:2022-12-24 12:39:43
【问题描述】:

我的下载文件夹中有一个很长的 python 脚本program.py。只有在使用 source /home/machineX/miniconda3/bin/activate my_env 激活我的特定 conda 环境后,我才能运行此脚本。我写了下面的 bash 脚本 trigger.sh 来激活我的 conda 环境并运行我的 python 脚本。

#!/bin/bash
cd /home/machineX/Downloads/
source /home/machineX/miniconda3/bin/activate my_env
python /home/machineX/Downloads/program.py

我正在使用以下命令运行我的脚本source /home/machineX/trigger.sh

通常当我运行它时,首先我激活我的 conda 环境 conda activate the_env 然后通过在我的 bash 终端中编写 python program.py 来运行它。

我的目标是在机器开机时运行我的program.py。所以我试图通过rc.local执行trigger.sh。所以我在我的etc/rc.localexit 0之前添加了以下内容

su machineX -c '/home/machineX/trigger.sh'

一切看起来都很好,我的rc.local 使用上面的行运行所有类型的 bash 脚本。但它只是放弃了基于 conda 的脚本。

【问题讨论】:

    标签: python linux bash raspberry-pi conda


    【解决方案1】:

    这是我解决这个问题的方法。这是一个非常简单的修复,但我花了 3 个小时才弄明白。对于使用 conda 和 rc.local 的任何人来说,这是一个很好的教训

    在激活我的 conda 环境之前,我编辑了我的 trigger.sh 脚本并执行了 conda.sh。

    #!/bin/bash
    
    cd /home/machineX/Downloads/
    #****** the new special line *******
    source /home/machineX/miniconda3/etc/profile.d/conda.sh
    #***********************************
    source /home/machineX/miniconda3/bin/activate my_env
    python /home/machineX/Downloads/program.py
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 2017-11-28
      • 1970-01-01
      相关资源
      最近更新 更多