【发布时间】:2017-05-24 03:20:50
【问题描述】:
我正在尝试在 macOS 10.12 上使用 Automator 来启动 Python 3 脚本。当我使用以下命令从终端运行脚本时,该脚本运行良好:python3 my_script.py。
Automator 有一个使用 /bin/bash shell 的“运行 Shell 脚本”功能。 shell 将使用以下命令运行脚本:python my_script.py,但这似乎只适用于用 Python 2.7 编写的脚本。
我的脚本以#!/usr/bin/env python3 开头,我认为这会将shell 引导到正确的python 解释器,但事实并非如此。
作为一种解决方法,如果我插入 python 解释器的完整路径:/Library/Frameworks/Python.framework/Versions/3.5/bin/python3,我可以让脚本运行,但我认为这是次优的,因为如果/当我更新到 Python 3.6 时,这些命令可能不起作用。
有没有更好的方法来指示 /bin/bash shell 运行 Python3 脚本?
【问题讨论】:
-
您是否使脚本可执行?如果你运行
chmod +x my_script.py你的脚本将是可执行的,那么你可以运行./my_script.py而不需要python3 my_script.py -
男人。我在 Mac 上是个傻瓜,但我建议你首先使用 Python 3.4。它是 Python 3 最稳定的版本。否则,您的“解决方法”是获取它的正确方法(路径的东西)。
-
我跑了
chmod +x,但没有帮助。权限为:-rwxr-xr-x. -
如果你运行
which python3,它应该会告诉你shebang的正确路径。
标签: python macos shell automator