Usando módulos de terceiros com Python em um serviço de automatizado
Pergunta
Eu instalei o Py-Appscript na minha máquina e ela pode ser usada com a instalação do Python em /Library/Frameworks/Python.framework/Versions/Current/bin/python
.
Estou tentando usar esta instalação do PY-Appscript com um serviço de automator. Para fazer isso, eu uso o Execute script de shell ação e depois defina o Casca para usr/bin/python
(que é minha única escolha para Python, infelizmente).
o usr/bin/python
Não parece ter acesso aos meus módulos de terceiros e falhas na linha:
from appscript import *
Existe uma maneira de eu dar usr/bin/python
Acesso aos meus módulos de terceiros? Ou existe uma maneira de dizer ao automator para usar /Library/Frameworks/Python.framework/Versions/Current/bin/python
em vez de?
Eu preciso do automator para executar o python diretamente do Execute script de shell ação. Qualquer ação que chama scripts de python externos ao Automator (via bin/bash
, por exemplo) não tem desempenho rápido o suficiente para ser útil.
Solução
Ok, pude fazer com que o trabalho usando um hack encontrado em Como faço para executar um script de shell php como uma ação do automator no Mac OS X.
Dentro do Execute script de shell ação, eu usei o /bin/sh/
concha com <<EOF
... EOF
para a instalação adequada do Python.
Por exemplo, entrando
/Library/Frameworks/Python.framework/Versions/Current/bin/python <<EOF
from appscript import *
Numbers = app('Numbers')
EOF
Na seção de código do Execute script de shell ação funcionará. Portanto, pode -se chamar a instalação adequada (/Library/Frameworks/Python.framework/Versions/Current/bin/python
acima) e colocar seu programa entre o <<EOF
... EOF
delírios.
Alfred
Este truque funciona com Alfred também. Se você quiser usar appscript
Com Alfred, apenas certifique -se de passar {query}
Para a versão Python acima, como esta:
/Library/Frameworks/Python.framework/Versions/Current/bin/python script.py {query}
Outras dicas
Ao instalar módulos, você normalmente os instala por instância do Python. Portanto, neste caso, você os instalou para o python em /library/frameworks/python.framework/versions/current/bin/python, e ele estará disponível apenas para esse python. /usr/bin/python é aparentemente outra instalação do Python (eu não sou um especialista no OS X).
Para disponibilizá -lo para a instalação/usr/bin/python, instale -o para/usr/bin/python.