如何调用python在$PATH上运行脚本

如何调用python在$PATH上运行脚本,python,python-3.x,path,environment-variables,spaces,Python,Python 3.x,Path,Environment Variables,Spaces,我的$PATH环境变量有/a/PATH/with spaces/in/it,其中有一个python脚本,我想从不同的位置运行它 但当我尝试用python3运行它时,我得到一个文件未找到错误 $ python3 prog.py python3: can't open file 'prog.py': [Errno 2] No such file or directory 当我尝试对其应用linux file命令时,也会发生同样的情况: $ file prog.py prog.py: canno

我的$PATH环境变量有/a/PATH/with spaces/in/it,其中有一个python脚本,我想从不同的位置运行它

但当我尝试用python3运行它时,我得到一个文件未找到错误

$ python3 prog.py

python3: can't open file 'prog.py': [Errno 2] No such file or directory
当我尝试对其应用linux file命令时,也会发生同样的情况:

$ file prog.py

prog.py: cannot open `prog.py' (No such file or directory)
但是,如果我在同一路径上键入bash脚本的名称,它们将按预期运行

类似地,如果我只键入prog.py,我的shell将尝试运行它。因此,我的系统可以很好地查看文件

更重要的是,如果我将cd刻录到prog.py的实际位置,然后告诉python3运行它,它将按它应该的方式执行

为什么会发生这种情况,或者不发生这种情况


我怎样才能按照我的意愿执行命令呢?

答案是将python脚本正确地作为可执行文件进行属性化

(如Jean-François Fabre在上述评论中所述,以及)


也就是说,要有
#/usr/bin/python3
作为脚本的第一行,除了使其成为可执行文件,然后简单地调用它来运行它。

这根本不是路径问题。只是
python
前缀没有在路径中查找命令。请尝试
python3./prog.py
。跨站点复制: