Python 可以 运行 来自 OSX Finder 和 Windows 资源管理器的脚本

Python script that can run from OSX Finder and Windows Explorer

我有一堆有用的 Python3 脚本,我在不同的 OS 环境中使用。从终端调用时它们 运行 很好,但我想从 Windows Explorer 和 OSX Finder 运行 它们。在 Windows 中,这不是问题,因为 *.py 文件与安装的解释器相关联。

对于 OSX,我遇到了一些问题。我尝试使用 shebang 线。

#!/usr/bin/python3

但 Finder 无法将其识别为脚本。如何让 Finder 将 *.py 文件识别为脚本?我感兴趣的是通过尽可能少的 OS 修改获得最大的可移植性。

我在上面还明确指定了解释器位置。对于不同的 OSes,它将位于不同的位置。有没有办法让它成为 multi-OS ,这样如果它在一个位置找不到它,它会尝试另一个?假设我想从 Ubuntu 的 GUI 文件管理器之一 运行 它。

编辑:这是关于我的用例的更多信息。我想换一台新电脑,git 克隆我的 Python3 脚本回购协议,并能够从 GUI 文件管理器中 运行 它们,对新电脑的改动很小。

为了使脚本更便携,使用 #!/usr/bin/env python3 作为 shebang。副作用是它将 运行 它在 $PATH (Unix StackExchange question on that subject)

中找到的第一个 python3 解释器

到 运行 取景器中的脚本尝试对文件进行 chmod。 IE。 chmod +x FILE


在这里找到另一种可能性:Link to the Blog

  1. 将其设为 Python 脚本的第一行“#!/usr/bin/env python”
  2. 将脚本文件的扩展名更改为“.command”即my_python_script.command
  3. 在终端中通过 运行ning "chmod +x my_python_script.command"
  4. 使 Python 脚本文件可执行
  5. 现在,当您在 Finder 中双击 Python 脚本时,它将打开终端 window 和 运行。

我发现的替代方案是这个,但它需要修改系统:Superuser question