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

python how to run python without specifying the interpreter

当你 运行 一个 python 脚本时,你必须做

python3 filename

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

./filename

它说权限被拒绝。 运行强制执行程序时是否指定解释器名称?

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

#!/path/to/python3

在我的电脑上,它是

#!/usr/bin/python3

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

$ 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

我猜您使用的是 linux 或基于 unix 的操作系统。是的,您可以做一些事情。希望您使用 import osimport sys 库与终端进行任何交互。接下来,您必须对文件执行 chmod 命令以使其成为 executable

命令是

chmod +x [python_file.py]

或通常(如果不是 root)

sudo chmod +x [python_file.py]