在集群運(yùn)行腳本(python,perl,sh)時會遇到一些錯誤??偨Y(jié)一下,以防手忙腳亂。(更新中)
很基礎(chǔ)的,自己打字玩。
1. 明明已經(jīng)安裝了python的模塊,運(yùn)行的時候就是會報錯找不到模塊
比如
$ python filter.py >Musa_a
Traceback (most recent call last):
File "filter.py", line 1, in <module>
from Bio import SeqIO
ModuleNotFoundError: No module named 'Bio'
解決辦法:在python腳本第一行添加#!usr/bin/python,讓腳本運(yùn)行時解析到這是python腳本,從而正常運(yùn)行。
2.perl類似的情況,
自己安裝的perl模塊不夠用,或者安裝了找不到,對于別人已經(jīng)寫好的腳本不容易修改。
解決辦法:可以用類似上面的方法試試,或者可以另外寫一個sh腳本運(yùn)行時規(guī)定使用哪個路徑下的perl(比如師兄的perl)
#!usr/bin/bash
unset PERL5LIB; export PATH=/shixiong/softs/perl-5.30.2/bin:$PATH
perl *&^*&^.pl
3.同樣類似的,軟件命令找不到的話
可以在~/.bashrc文件中添加PATH,有點(diǎn)像windows在桌面創(chuàng)建快捷方式。一般路徑要到bin,系統(tǒng)會去bin的文件夾里面找運(yùn)行的腳本(軟件)
或者寫一個sh腳本專門記錄軟件路徑,和運(yùn)行的命令。