为什么Python的shutil.which()不起作用?

2024-06-17 10:23:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图看看shutil.which()是否能从NCBI的BLAST中找到blastn命令。在我的终端上运行which blastn会导致/usr/local/bin/blastn。但是,如果我执行shutil.which("blastn"),它只返回None。搜索Python工作正常,因为shutil.which("python")返回/usr/bin/python。为什么会这样


Tags: 命令none终端whichbinusrlocalncbi
1条回答
网友
1楼 · 发布于 2024-06-17 10:23:51

这意味着shell中的环境与Python运行时中的环境具有不同的路径。有许多可能的原因,但这种情况经常发生,因为.bashrc中的某些内容附加到路径,这将在shell中看到,但Python不会看到

要检查shell中的环境,请执行以下操作:

$ echo $PATH

要在Python中检查环境,请执行以下操作:

import os
print(os.environ["PATH"])

您可能会发现shell的环境在PATH中有blastn的位置,而Python的环境没有

相关问题 更多 >