簡體   English   中英

在啟動時運行的bash腳本中激活conda環境

[英]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.

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