无法从任何文件夹执行python程序

无法从任何文件夹执行python程序

~/bin我有一个名为 的python 程序program.py。如果我在该文件夹中,我可以毫无问题地从终端运行该程序,但如果我在另一个文件夹中,我会得到:

python: can't open file 'program.py': [Errno 2] No such file or directory

我有~/bin变量PATH,我可以从任何文件夹运行我的 bash 脚本而不会出现问题。

怎么了?

数据:

在这个文件夹中我有我的Python程序:

$ pwd
/home/pol/bin/Python
$ head -1 program.py
#! /usr/bin/python3
$ which python3
/usr/bin/python3
$ echo $PATH
/home/pol/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
$ program.py
bash: program.py: command not found

答案1

你有舍邦吗?脚本的第一行应该指向实际的解释器,例如

#!/usr/bin/python3

另外,请确保权限设置正确,例如您可能需要 775 之类的权限。

这是为了证明它工作得很好:

$ pwd
/tmp/test
$ ls
test.py
$ head -3 test.py 
#!/usr/bin/python3
# SPDX-License-Identifier: GPL-2.0 OR GPL-3.0
#
$ export PATH=/tmp/test:$PATH
$ test.py
usb1              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.1) hub
usb2              1d6b:0003 09 1IF  [USB 3.10, 10000 Mbps,   0mA] (xhci-hcd 0000:04:00.1) hub
usb3              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd 0000:04:00.3) hub
...
skipped

即一切正常。


获取所有信息后的实际答案:您的程序位于/home/pol/bin/Python而 $PATH 仅包含/home/pol/bin.将程序移动到/home/pol/bin或添加/home/pol/bin/Python到 $PATH。

相关内容