Использование сторонних модулей с Python в службе Automator
Вопрос
Я установил Py-Appscript на мою машину, и его можно использовать с установкой Python At /Library/Frameworks/Python.framework/Versions/Current/bin/python
.
Я пытаюсь использовать эту установку Py-Appscript с помощью службы Automator. Для этого я использую Запустить сценарий оболочки действие, а затем установите Оболочка к usr/bin/python
(К сожалению, мой единственный выбор для Python).
А usr/bin/python
Похоже, не имеет доступа к моим сторонним модулям и сбои на линии:
from appscript import *
Есть ли способ дать мне usr/bin/python
доступ к моим сторонним модулям? Или есть способ сказать Automator для использования /Library/Frameworks/Python.framework/Versions/Current/bin/python
вместо?
Мне нужен автомат для запуска Python прямо из Запустить сценарий оболочки действие. Любое действие, которое вызывает сценарии Python, которые являются внешними по отношению к Automator (через bin/bash
, например) не работает достаточно быстро, чтобы быть полезным.
Решение
Хорошо, я смог работать с использованием взлома, найденного в Как выполнить скрипт оболочки PHP в качестве действия автоматизации на Mac OS X.
Внутри Запустить сценарий оболочки действие, я использовал /bin/sh/
оболочка с <<EOF
... EOF
к правильной установке Python.
Так, например, вход
/Library/Frameworks/Python.framework/Versions/Current/bin/python <<EOF
from appscript import *
Numbers = app('Numbers')
EOF
В раздел кода Запустить сценарий оболочки Действие будет работать. Так что можно назвать правильной установкой (/Library/Frameworks/Python.framework/Versions/Current/bin/python
выше) и поставьте их программу между <<EOF
... EOF
Делиметра.
Альфред
Этот трюк работает с Альфредом. Если вы хотите использовать appscript
С Альфредом просто убедитесь, что вы проходите {query}
к версии Python выше, например:
/Library/Frameworks/Python.framework/Versions/Current/bin/python script.py {query}
Другие советы
Когда вы устанавливаете модули, вы обычно устанавливаете их на экземпляр Python. Таким образом, в этом случае вы установили их для Python in /library/frameworks/python.framework/versions/current/bin/python, и тогда он будет доступен только для этого питона. /usr/bin/python, по -видимому, является еще одной установкой Python (я не эксперт OS X).
Чтобы сделать его доступным для установки/usr/bin/python, установите его для/usr/bin/python.