どのフォルダでも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にのみプログラムを$ PATHに/home/pol/bin移動/home/pol/binまたは追加します。/home/pol/bin/Python

関連情報