我是第一次在我的大学集群上运行R脚本。我正在使用Anaconda来管理我的R包。我可以从命令行成功运行脚本,但是当我使用bash脚本调用相同的代码时,出现“没有名为_____的程序包”错误。
我做了很多搜索,发现了这篇文章: Conda command working in command prompt but not in bash script
所以我从以下位置更改了〜/ .bashrc:
export PATH =“ / home / agarbuzov / anaconda2 / bin:$ PATH”
至: 。 /home/agarbuzov/anaconda2/etc/profile.d/conda.sh
那没有帮助。我没有使用conda的丰富经验-我只是在集群上运行了一些工作。任何指导将不胜感激,因为我在这里没有任何想法。
这是我的测试脚本的样子:
#!/bin/csh
#PBS -q hotel
#PBS -l nodes=1:ppn=1
#PBS -l walltime=1:00:00
#PBS -N tom_bootstraps
#PBS -o tomboot_output.txt
#PBS -e tomboot_err.txt
#PBS -V
#PBS -M ***
#PBS -m abe
source /home/agarbuzov/anaconda2/etc/profile.d/conda.sh
conda activate r_env
Rscript ~/ascripts/1_rWGCNA_bootstrap_test.R
当我调用$ conda list时,列出了我需要的所有软件包。
$conda info
active environment : r_env
active env location : /home/agarbuzov/anaconda2/envs/r_env
shell level : 1
user config file : /home/agarbuzov/.condarc
populated config files : /home/agarbuzov/.condarc
conda version : 4.6.8
conda-build version : 1.21.3
python version : 2.7.15.final.0
base environment : /home/agarbuzov/anaconda2 (writable)
channel URLs : https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/linux-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/agarbuzov/anaconda2/pkgs
/home/agarbuzov/.conda/pkgs
envs directories : /home/agarbuzov/anaconda2/envs
/home/agarbuzov/.conda/envs
platform : linux-64
user-agent : conda/4.6.8 requests/2.21.0 CPython/2.7.15 Linux/2.6.32-696.18.7.el6.x86_64 centos/6.6 glibc/2.12
UID:GID : 520822:10494
netrc file : None
offline mode : False
答案 0 :(得分:0)
我想记住在哪里找到的,但是有一段代码,我不明白它的作用,但是可以解决问题。
eval $(conda shell.bash hook)
或者,使用某些群集管理软件(HTCondor,Slurm等),您可以指定在家庭环境中运行作业。
或者,您也可以尝试在提交脚本中为.bashrc来源。
无论如何,第一种方法似乎确实有效。