在Automator服务中使用Python的第三方模块

时间:2010-01-19 13:40:13

标签: python automator

我在我的机器上安装了Py-Appscript,它可以与/Library/Frameworks/Python.framework/Versions/Current/bin/python的Python安装一起使用。

我正在尝试使用Automator服务安装Py-Appscript。为此,我使用运行Shell脚本操作,然后将 Shell 设置为usr/bin/python(不幸的是,这是我唯一的Python选择)。

usr/bin/python似乎无权访问我的第三方模块并崩溃:

from appscript import *

我有办法让usr/bin/python访问我的第三方模块吗? 要么 有没有办法告诉Automator改为使用/Library/Frameworks/Python.framework/Versions/Current/bin/python

我需要Automator直接从运行Shell脚本操作运行Python。调用Automator外部的Python脚本的任何操作(例如,通过bin/bash)执行速度都不够快,无法发挥作用。

2 个答案:

答案 0 :(得分:3)

好的,我能够使用在How do I execute a PHP shell script as an Automator action on Mac OS X找到的黑客来使用它。

运行Shell脚本操作中,我使用/bin/sh/ shell和<<EOF ... EOF来安装正确的Python。

例如,输入

/Library/Frameworks/Python.framework/Versions/Current/bin/python <<EOF
from appscript import *
Numbers = app('Numbers')
EOF

进入运行Shell脚本操作的代码部分将起作用。因此,可以调用正确的安装(上面/Library/Frameworks/Python.framework/Versions/Current/bin/python)并将其程序放在<<EOF ... EOF分隔符之间。

阿尔弗雷德

这个技巧也适用于阿尔弗雷德。如果您想将appscript与Alfred一起使用,请确保将{query}传递给上面的python版本,如下所示:

/Library/Frameworks/Python.framework/Versions/Current/bin/python script.py {query}

答案 1 :(得分:0)

安装模块时,通常按Python实例安装它们。因此,在这种情况下,您已经在/Library/Frameworks/Python.framework/Versions/Current/bin/python中为Python安装了它们,然后它将仅适用于该Python。 / usr / bin / python显然是另一个Python安装(我不是OS X专家)。

要使其可用于/ usr / bin / python安装,请将其安装到/ usr / bin / python。