2

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

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

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

from appscript import *

有没有办法让我usr/bin/python访问我的第三方模块?或者有没有办法告诉 Automator 使用它/Library/Frameworks/Python.framework/Versions/Current/bin/python

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

4

2 回答 2

3

好的,我可以使用How do I execute a PHP shell script as an Automator action on Mac OS X中找到的 hack 让它工作。

Run Shell Script操作中,我使用带有...的/bin/sh/shell来正确安装 Python。<<EOFEOF

例如,输入

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

进入Run Shell Script动作的代码部分将起作用。所以可以调用正确的安装(/Library/Frameworks/Python.framework/Versions/Current/bin/python上面)并将他们的程序放在<<EOF...EOF分隔符之间。

阿尔弗雷德

这个技巧也适用于 Alfred。如果你想appscript与 Alfred 一起使用,只需确保传递{query}给上面的 python 版本,如下所示:

/Library/Frameworks/Python.framework/Versions/Current/bin/python script.py {query}
于 2010-01-19T18:28:46.380 回答
0

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

要使其可用于 /usr/bin/python 安装,请为 /usr/bin/python 安装它。

于 2010-01-19T15:38:01.520 回答