我正在使用conda 4.5.11 . 退出conda环境时,我在将PATH变量重置为其原始值时遇到问题 .

我创建了该文件

$CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh

包含以下说明:

export PATH=/projects/novabreed/share/anaconda-3/envs/strain/bin:
/iga/stratocluster/packages/lang/r/3.3/bin:
/iga/stratocluster/packages/compilers/gcc/4.9.3/bin:
/iga/stratocluster/packages/lib/curl/7.53.1/bin:
/iga/stratocluster/packages/lib/pcre/8.40/bin:
/iga/stratocluster/packages/lib/xz/5.2.3/bin:
/iga/stratocluster/packages/lib/bzip2/1.0.6/bin:
/iga/stratocluster/packages/lib/zlib/1.2.11/bin:
/iga/stratocluster/packages/lang/java/jdk1.8.0_74/bin:
/iga/stratocluster/packages/lang/python/2.7.3/bin:
/iga/stratocluster/packages/lib/fftw/3.3.2/bin:
/iga/stratocluster/packages/lib/openmpi/1.6.1/bin:
/iga/stratocluster/packages/lib/atlas/3.10.0/bin:
/opt/local/bin:/opt/cluster/bin:/home/marroni/.local/stow/bin:
/home/marroni/.local/bin:/opt/local/bin:/opt/cluster/bin:
/home/marroni/.local/stow/bin:/home/marroni/.local/bin/:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:
/projects/novabreed/share/anaconda-3/bin
echo "Ciao!"

路径是我想要恢复的路径(从环境特定路径清除) . 另外我还添加了愚蠢的打印命令来检查脚本是否在退出时执行 . 通过命令退出时

source deactivate

脚本被执行(或者至少,它打印“Ciao!”),但环境仍然设置为特定于环境的值(如下所示) .

/projects/novabreed/share/anaconda-3/envs/strain/bin:
/iga/stratocluster/packages/lang/r/3.3/bin:
/iga/stratocluster/packages/compilers/gcc/4.9.3/bin:
/iga/stratocluster/packages/lib/curl/7.53.1/bin:
/iga/stratocluster/packages/lib/pcre/8.40/bin:
/iga/stratocluster/packages/lib/xz/5.2.3/bin:
/iga/stratocluster/packages/lib/bzip2/1.0.6/bin:
/iga/stratocluster/packages/lib/zlib/1.2.11/bin:
/iga/stratocluster/packages/lang/java/jdk1.8.0_74/bin:
/iga/stratocluster/packages/lang/python/2.7.3/bin:
/iga/stratocluster/packages/lib/fftw/3.3.2/bin:
/iga/stratocluster/packages/lib/openmpi/1.6.1/bin:
/iga/stratocluster/packages/lib/atlas/3.10.0/bin:
/opt/local/bin:/opt/cluster/bin:/home/marroni/.local/stow/bin:
/home/marroni/.local/bin:/opt/local/bin:/opt/cluster/bin:
/home/marroni/.local/stow/bin:/home/marroni/.local/bin/:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:
/projects/novabreed/share/anaconda-3/bin:
/projects/novabreed/share/mvidotto/bioinfotree/binary/appliedgenomics/local/stow/samtools-1.3/bin:
/projects/novabreed/share/mvidotto/bioinfotree/binary/appliedgenomics/local/stow/bedtools-2.26.0/bin:
/iga/scripts/packages/bowtie2-2.3.4.1-linux-x86_64:
/projects/novabreed/share/mvidotto/bioinfotree/binary/appliedgenomics/local/stow/velvet_1.2.10_CAT57_MAXKL127_BIGASS1_OPENMP1/bin:/pro
jects/novabreed/share/mvidotto/bioinfotree/binary/appliedgenomics/local/stow/ncbi-blast-2.6.0+/bin:
/iga/stratocluster/packages/lang/r/3.3/bin:/projects/novabreed/share/software/SPAdes-3.13.0-Linux/bin/

但是,我注意到如果我手动执行命令

source $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh

路径重置为正确的值 . 所以,目前我只是手动执行停用脚本,但我知道这不是好方法 .

我究竟做错了什么?有谁能够帮我?