所以我有一个生成动画的python脚本,它需要我在conda环境中拥有的库。我需要在电脑一开机就运行这个脚本,所以我写了一个简短的bash脚本,添加到"启动应用程序"中。这个bash脚本在启动时运行,如下所示:
#!/bin/bash
conda activate myenv
cd ~/scripts
python generate.py
当我自己在终端中运行时,这很好,但每当我打开计算机时,脚本的python部分都不会执行,当我检查错误时,我会发现:
conda: command not found
然后我还看到python脚本无法运行,因为它缺少库(来自未激活的conda环境)
我试着在bash脚本中添加行,将"conda-activate"替换为"source activate",我试着将echo ". /home/<user>/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
添加到bash脚本,将"conda"替换为/home/barrat/anaconda3/bin/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()
一个接一个地启动进程来轻松监控。