为什么以下 .sh 脚本在 PATH 中时说找不到 .py 命令?

Why is the following .sh script saying .py command not found when the script is in PATH?

我正在尝试 运行 https://rki_bioinformatics.gitlab.io/ditasic/ 中的示例工作流,其中 example.sh 是主要的 bash 脚本,它将获取示例数据并输出一些数据矩阵。

在将 运行 示例工作流的 example.sh 脚本中,我们有以下第 9 行:

ditasic_matrix.py -l 100 -o output/similarity_matrix35.npy data/reference_paths

但是在macOS的终端中example.sh为运行时,会出现如下信息:

DiTaSic /ditasic_example/example.sh: line 9: ditasic_matrix.py: command not found

但是ditasic_matrix.py已经存在于我为终端设置的路径中。我已将 ditasic_matrix.py 放在一个目录中,该目录的路径已通过

添加到终端的 PATH 中
export PATH="$PATH":

那么发生了什么导致找不到命令?

将脚本中的 ditasic_matrix.py 行更改为 ./ditasic_matrix.py,因为当前路径未包含在可执行文件搜索中。

如果还是不执行,可能文件没有设置可执行位。

在该文件夹中打开 terminal/console 并发出

chmod +x ditasic_matrix.py

ditasic_matrix.py 文件似乎有以下解释器设置:#!/usr/bin/env python。由于您似乎无法 运行 它,因此这似乎不是您 运行 宁 Python 的实际路径。请确保:

1) 您已安装 Python

2) 可以在命令行中运行ning python执行Python程序