首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Python的shutil.which()不能工作?

为什么Python的shutil.which()不能工作?
EN

Stack Overflow用户
提问于 2020-04-17 12:50:24
回答 1查看 1.1K关注 0票数 1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-17 13:29:00

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

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

代码语言:javascript
复制
$ echo $PATH

要使用Python检查环境,请执行以下操作:

代码语言:javascript
复制
import os
print(os.environ["PATH"])

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61264364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档