Использование сторонних модулей с Python в службе Automator

StackOverflow https://stackoverflow.com/questions/2093837

  •  21-09-2019
  •  | 
  •  

Вопрос

Я установил 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top