python如何在不指定解释器的情况下运行python

时间:2015-11-19 04:42:58

标签: python interpreter permission-denied

运行python脚本时,必须执行

python3 filename

你是否可以在python文件中编写一些内容,以便在运行之前不必说python3。我尝试了#!/ line,但是当我这样做时:

./filename
它说许可被拒绝了。在强制运行程序时指定解释器名称吗?

2 个答案:

答案 0 :(得分:6)

在python文件的顶部,您需要添加Python3二进制文件的路径。这通常被称为“hashbang”或“shebang”。它告诉你的shell 如何解释或运行你的文件(没有它,如果你尝试./<python-file>,它会尝试将其解释为bash

#!/path/to/python3

在我的电脑上,它是

#!/usr/bin/python3

要确定python3二进制文件(或链接)所在的路径,请运行

$ which python3

或者,最好使用env,因为它会确保使用的解释器是您环境$PATH上的第一个解释器。

#!/usr/bin/env python3

注意,您需要运行

$ chmod a+x <python-file>

更改模式以使其可执行。 a告诉它使所有人(用户,组和其他人)都可执行,因此如果您不想这样做,可以将其保留(例如,chmod +x <python-file>)。

要在可执行文件之前不必运行./,您需要将PATH设置为

export PATH=$PATH:.

在您的.bashrc或类似*rc的shell文件中。 (export使变量可用于子流程。)然后您将要运行

$ source ~/.bashrc

答案 1 :(得分:0)

我猜你是在linux或unix基础操作系统上。是的,你可以做些什么。希望您使用import osimport sys库与终端进行任何互动。接下来,您必须对文件执行chmod命令才能使其executable

命令是

chmod +x [python_file.py]

或通常(如果不是root)

sudo chmod +x [python_file.py]