不使用"python"关键字运行Python脚本

12

在Mac终端上如何运行Python脚本而不使用"python"关键字,也不需要修改现有的Python文件?

目前我需要这样做:python script.py

我想要的是这样做:script.py

3个回答

19

添加一个 shebang:

#!/usr/bin/python

或者

#!/usr/bin/env python
我更喜欢第二个选项,因为Python可以安装在任何地方,例如 /usr/bin/python、/usr/local/bin/python等等。而第二个选项则确保你不必一直编辑shebang。

接着,如果该脚本是可执行的,你只需执行./script.py即可。


这个技巧在 Windows 机器上也能行得通吗? - AnonSar

15

在你的Python脚本中,将以下内容添加为第一行:

#!/usr/bin/python

在终端中执行以下命令:chmod +x ./yourpythonscript.py

然后在终端中执行命令:./yourpythonscript.py


1
@mofle 不好意思,如果不指定哪个文件将执行它,在Unix系统中无法使文件可执行。 - Troydm
我不清楚具体操作,但在 Mac 上可能可以将扩展名或 MIME 类型关联到处理程序(例如:使用 Python 打开所有类型为 .py 的文件)等。然后,您可以在不修改源文件的情况下实现此操作。 - Noufal Ibrahim
1
实际上,您可以将文本文件设置为可执行文件 - 但系统将使用您的 shell(可能是 bash)来执行它。另外,#! /usr/bin/env python 更具可移植性,因为它不会硬编码 Python 的位置。 - Yann Vernier

6
尝试使用./script.py而不是 script.py... 或确保您的当前目录在您的路径中,这样 script.py 应该可以工作。

谢谢,这很有帮助。我之前尝试在命令行中只用“script.py”运行,但是一直提示“找不到该命令”。 - redOctober13

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接