【问题标题】:os.system does not look the programs that are in my pathos.system 看不到我路径中的程序
【发布时间】:2017-02-06 13:47:57
【问题描述】:

在 python 脚本中调用程序时遇到问题。给我带来问题的程序是我在计算机上手动安装然后将它们添加到 .bashrc 文件的路径中的程序。使用 'sudo apt-get install some_program' 安装的程序不会给我任何问题

按以下方式添加到我的 .bashrc 文件中的程序:

#path to fastqc 
export PATH=$PATH:/home/bioinfor3/bin/FastQC/
#path to fastx-toolkits
export PATH=$PATH:/home/bioinfor3/bin/fastx/

在我的 PyCharm 中,我使用 os 模块以下列方式调用这些程序:

os.system('fastqc seq.fastq')

我得到了这个错误

sh: 1: fastqc: not found

我猜它与 sh 路径或其他东西有关,但我无法使其工作

编辑:

如果 Pycharm 从终端启动,它会使用我的个人路径继承 bashrc 文件并且它可以工作

【问题讨论】:

  • 很可能,PyCharm 不是您的交互式 shell 的祖先。通常,您应该从登录 shell 的配置文件中修改您的环境(.profile.bash_profile,视情况而定)。

标签: python bash operating-system pycharm


【解决方案1】:

这可能是因为您修改了登录环境以调整 PATH,但运行 PyCharm 的 shell 看不到这个更新的路径,或者 PyCharm 似乎以某种方式使其无效。

你应该首先验证

os.system('/home/bioinfor3/bin/FastQC/fastqc seq.fastq')

按照您的预期运行(没有理由不应该,但值得检查)。

this answer 看来,默认情况下 PyCharm 不使用bash 作为其外壳,而是使用tcsh。因此,它看不到您在 bash 上强制执行的设置。

【讨论】:

    猜你喜欢
    • 2020-05-18
    • 2021-10-29
    • 1970-01-01
    • 2022-12-13
    • 2014-07-31
    • 2021-10-03
    • 2012-09-18
    • 1970-01-01
    相关资源
    最近更新 更多