Python

無法從任何文件夾執行 python 程序

  • August 25, 2020

我有一個~/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

你有捨邦嗎?腳本的第一行應該指向實際的解釋器,例如

#!/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。

引用自:https://unix.stackexchange.com/questions/606296