2024-06-17 10:23:51 发布
网友
我试图看看shutil.which()是否能从NCBI的BLAST中找到blastn命令。在我的终端上运行which blastn会导致/usr/local/bin/blastn。但是,如果我执行shutil.which("blastn"),它只返回None。搜索Python工作正常,因为shutil.which("python")返回/usr/bin/python。为什么会这样
shutil.which()
blastn
which blastn
/usr/local/bin/blastn
shutil.which("blastn")
None
shutil.which("python")
/usr/bin/python
这意味着shell中的环境与Python运行时中的环境具有不同的路径。有许多可能的原因,但这种情况经常发生,因为.bashrc中的某些内容附加到路径,这将在shell中看到,但Python不会看到
.bashrc
要检查shell中的环境,请执行以下操作:
$ echo $PATH
要在Python中检查环境,请执行以下操作:
import os print(os.environ["PATH"])
您可能会发现shell的环境在PATH中有blastn的位置,而Python的环境没有
这意味着shell中的环境与Python运行时中的环境具有不同的路径。有许多可能的原因,但这种情况经常发生,因为
.bashrc
中的某些内容附加到路径,这将在shell中看到,但Python不会看到要检查shell中的环境,请执行以下操作:
要在Python中检查环境,请执行以下操作:
您可能会发现shell的环境在PATH中有
blastn
的位置,而Python的环境没有相关问题 更多 >
编程相关推荐