點擊上方 藍字關注我們
在命令行窗口交互地切換conda虛擬環境,可以通過conda activate/deactivate方便地實現。而在shell腳本中,直接使用相同的命令則會返回報錯。
這裡有一個用於測試的shell腳本和python腳本
from wrf import getvarprint("test_env")
#!/bin/bashconda activate wrfpy && python test.py如果直接執行sh test.sh會報錯,如下圖
經過一番搜索發現解決的方法很多,歸納為以下幾種:
#!/bin/bashsource ~/anaconda3/etc/profile.d/conda.shconda activate wrfpy && python test.py~/anaconda3/envs/wrfpy/bin/python test.py#!/bin/basheval "$(conda shell.bash hook)"conda activate wrfpy && python test.py#!/bin/bashsource ~/anaconda3/bin/activate wrfpy && python test.py#!/bin/bashconda activate wrfpy && python test.py#!/bin/bashconda activate wrfpy && python test.py需要注意的是,方法五通過source test.sh執行腳本之後,命令行窗口就切換到虛擬環境下了,而其它方法對窗口的環境不產生影響。
聲明:歡迎轉載、轉發本號原創內容,可留言區留言或者後臺聯繫小編(gavin7675)進行授權。氣象學家公眾號轉載信息旨在傳播交流,其內容由作者負責,不代表本號觀點。文中部分圖片來源於網絡,如涉及作品內容、版權和其他問題,請後臺聯繫小編處理。歡迎加入氣象學家交流群
請備註:姓名/暱稱-單位/學校-研究方向