我在我的机器上安装了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
)执行速度都不够快,无法发挥作用。
答案 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。