gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 21:41:47 24 4
gpt4 key购买 nike

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

最佳答案

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

在 shell 中检查环境:

$ echo $PATH

在 Python 中检查环境:

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

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

关于python - 为什么 Python 的 shutil.which() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61264364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com