bash:python:.py:未找到命令

bash:python:.py:未找到命令,python,bash,qiime,Python,Bash,Qiime,我试图在安装在macbook上的QIIME2虚拟机中运行以下命令,但代码不起作用 validate_mapping_file.py -m Fasting_Map.txt -o mapping_output 以下是链接: 我得到以下信息 bash:validate_mapping_file.py:未找到命令 我不熟悉unix/linux和qiime。非常感谢您的帮助……要以这种方式执行Python脚本,您需要三件事: 该文件需要为您设置可执行位。为此,请尝试使用:chmodu+xvalidate

我试图在安装在macbook上的
QIIME2虚拟机
中运行以下命令,但代码不起作用

validate_mapping_file.py -m Fasting_Map.txt -o mapping_output
以下是链接:

我得到以下信息

bash:validate_mapping_file.py:未找到命令


我不熟悉
unix/linux
qiime
。非常感谢您的帮助……

要以这种方式执行Python脚本,您需要三件事:

  • 该文件需要为您设置可执行位。为此,请尝试使用:
    chmodu+xvalidate\u mapping\u file.py

  • 文件需要以shebang开头,例如
    #/usr/bin/env python3
    ,它将告诉系统根据您的环境使用python3可执行文件运行脚本

  • 文件需要位于
    PATH
    环境变量中的一个目录中。您可以使用export
    PATH=$PWD:$PATH
    添加当前目录,或者使用
    /validate\u mapping\u file.py
    而不仅仅是
    validate\u mapping\u file.py
    (谢谢@Grisha)


  • 之后,您应该能够以您以前尝试过的方式执行脚本。

    chmod+x validate\u mapping\u file.py
    plus请显示此Python文件的第一行-它是否有一个shabang行?您是否尝试使用
    /validate\u mapping\u file.py
    来验证\u mapping\u file.py
    。。。另外,它必须位于
    路径
    目录之一
    $(pwd):$PATH
    ,或其基于倒勾的等效目录,与
    $pwd/$PATH
    相比,效率极低;像任何其他命令替换一样,它派生出一个子shell。@CharlesDuffy我怀疑他键入的速度是否比执行
    pwd
    快。不过,它还是达到了同样的效果,而且效率更高,所以我编辑了答案。@FlorianRhiem,谢谢。问题不在于即时交互使用,而在于教学实践,如果在其他情况下(例如,在内部循环中)使用,会造成瓶颈。