[英]Activating conda environment in bash script that runs on startup
所以我有一个生成动画的python脚本 - 它需要我在conda环境中拥有的库。 我需要在计算机打开后立即运行此脚本,因此我编写了一个简短的bash脚本,我将其添加到“启动应用程序”中。 这个bash脚本在启动时运行,读取如下:
#!/bin/bash
conda activate myenv
cd ~/scripts
python generate.py
当我自己在终端中运行它时,它很好,但每当我打开计算机时,脚本的python部分都不会执行,当我检查错误时,我发现:
conda: command not found
然后我也看到python脚本无法运行,因为它缺少库(来自conda环境未激活)
我尝试在bash脚本中添加行,用“source activate”替换“conda activate”,我尝试添加echo ". /home/<user>/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
到bash脚本,用/home/barrat/anaconda3/bin/conda
替换“conda”,甚至将whoami
添加到启动时运行的bash脚本中,以确保我没有神奇地成为root。这一切都没有奏效。 我真的很感激任何帮助。 凌晨3点,我有点绝望。
你可能已经解决了这个问题,但对于未来的观众来说,这对我有用:
if [ -f "/path/to/anaconda3/etc/profile.d/conda.sh" ]; then . "/path/to/anaconda3/etc/profile.d/conda.sh" CONDA_CHANGEPS1=false conda activate myenv fi
添加此而不是conda activate myenv
。
当您尝试激活环境以启动脚本时,您也可以通过使用python中的subprocess
模块自行创建启动脚本来执行所需的任务。
尝试制作一个demo.py
脚本,如:
import os
import system
import subprocess
import x
subprocess.run(["command name", "value"]) #for all scripts you want to execute
然后你可以把这个python脚本在启动时运行。 您可以在不对系统进行显着速度更改的情况下启动相当多的操作,并且始终可以通过在两次调用之间使用time.sleep()
启动进程来轻松监视它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.