簡體   English   中英

問:python(在集群的bash腳本中使用cutadapt):libpython3.7m.so.1.0:無法打開共享對象文件:無此類文件或目錄

[英]Q: python (using cutadapt in bash script on cluster): libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

我在使用程序cutadapt(利用python)的群集上運行bash腳本。

在運行腳本之前,我已加載python 3.7.0版和cutadapt

alias python=python3
module load python/3.7.0
pip3 install --user --upgrade cutadapt

然后通過qsub將其發送出去,但是該作業一直在提前中止,並且我不斷收到以下錯誤:

/u/local/apps/python/3.7.0/bin/python3: 
error while loading shared libraries: libpython3.7m.so.1.0: 
cannot open shared object file: No such file or directory

$LD_LIBRARY_PATH似乎不是問題,因為echo $LD_LIBRARY_PATH顯示優先列出了/u/local/apps/python/3.7.0/lib

另外, ldd /u/local/apps/python/3.7.0/bin/python3顯示找到libpython3.7m.so.1.0並指向:

libpython3.7m.so.1.0 => 
/u/local/apps/python/3.7.0/lib/libpython3.7m.so.1.0 (0x00007f66e01f6000) 

此外,以與我的腳本相同的方式調用cutadapt似乎正常工作:

~/.local/bin/cutadapt

This is cutadapt 2.3 with Python 3.7.0
Command line parameters:

Run "cutadapt --help" to see command-line options.
See https://cutadapt.readthedocs.io/ for full documentation.

我的同齡人已經運行幾乎完全相同的代碼和腳本,並且腳本中止/此錯誤消息沒有問題。

預先感謝您對如何解決此問題的任何建議!

編輯(感謝您的反饋!):

這是我提交的腳本(除了集群上不同的主目錄和不同的輸出目錄外,與我的對等方幾乎相同):

#-- trim00s.sh --#
#!/bin/bash
#runs cutadapt on files 01-09

for i in {1..9}
do
fastq="Index0${i}.for.fq"
trimmedFastq="Index0${i}_trimmed.for.fq"
/u/home/e/evanderw/.local/bin/cutadapt -a GATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG -a "A{10}" -a "T{10}" -m 15 -q 30 -o ../../04_trimmed/lane_2/$trimmedFastq $fastq
done

$LD_LIBRARY_PATH是我第一次登錄到集群后的內容(我想它會自動設置為這些集群的默認庫嗎?):

echo $LD_LIBRARY_PATH
/u/local/compilers/intel-cs/2013.0.028/mpi/intel64/lib:
/u/local/compilers/intel-cs/2013.0.028/itac/intel64/itac/slib_impi4:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/compiler/lib/intel64:
/opt/intel/mic/coi/host-linux-release/lib:
/opt/intel/mic/myo/lib:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/mpirt/bin/intel64:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/ipp/lib/intel64:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/mkl/lib/intel64:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/tbb/lib/intel64

但是然后在我完成alias python=python3並將module load python/3.7.0更改為后,它會更改:

echo $LD_LIBRARY_PATH
/u/local/apps/python/3.7.0/lib:
/u/local/compilers/intel/17.0.1/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64:
/u/local/apps/xz/5.2.3/lib:
/u/local/apps/openssl/1.1.1/lib:
/u/local/apps/mpfr/3.1.5/gcc-4.9.3/lib:
/u/local/apps/hdf5/1.8.18/gcc-4.4.7-shared/lib:
/u/local/compilers/gcc/4.9.3/lib:
/u/local/compilers/gcc/4.9.3/lib64:
/u/local/compilers/intel-cs/2013.0.028/mpi/intel64/lib:
/u/local/compilers/intel-cs/2013.0.028/itac/intel64/itac/slib_impi4:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/compiler/lib/intel64:
/opt/intel/mic/coi/host-linux-release/lib:
/opt/intel/mic/myo/lib:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/mpirt/bin/intel64:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/ipp/lib/intel64:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/mkl/lib/intel64:
/u/local/compilers/intel-cs/2013.0.028/composer_xe/tbb/lib/intel64

我更新了腳本以確保shebang是第一行,然后將$LD_LIBRARY_PATH打印為文本文件:

#!/bin/bash

#-- trim00s.sh --#
#runs cutadapt on files 01-09

echo $LD_LIBRARY_PATH >foo.txt

for i in {1..9}
do
fastq="Index0${i}.for.fq"
trimmedFastq="Index0${i}_trimmed.for.fq"
/u/home/e/evanderw/.local/bin/cutadapt -a GATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG -a "A{10}" -a "T{10}" -m 15 -q 30 -o ../../04_trimmed/lane_2/$trimmedFastq $fastq
done

錯誤仍然存​​在,並且生成的foo.txt文件完全空白,這意味着在腳本通過qsub運行時, $LD_LIBRARY_PATH被重置為空白。

因此,我在腳本中添加了一行,現在為我的代碼在查找$LD_LIBRARY_PATH時遇到問題的庫添加目錄,並且該目錄有效!

#!/bin/bash

#-- trim00s.sh --#
#runs cutadapt on files 01-09

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/u/local/apps/python/3.7.0/lib


for i in {1..9}
do
fastq="Index0${i}.for.fq"
trimmedFastq="Index0${i}_trimmed.for.fq"
/u/home/e/evanderw/.local/bin/cutadapt -a GATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG -a "A{10}" -a "T{10}" -m 15 -q 30 -o ../../04_trimmed/lane_2/$trimmedFastq $fastq
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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