Verwenden von Modulen von Drittanbietern mit Python in einem Automatordienst
Frage
Ich habe Py-Appscript auf meinem Computer installiert und kann mit der Python-Installation bei verwendet werden /Library/Frameworks/Python.framework/Versions/Current/bin/python
.
Ich versuche, diese Installation von PY-Appscript mit einem Automatordienst zu verwenden. Dazu benutze ich das Führen Sie das Shell -Skript aus Aktion und dann die festlegen Hülse zu usr/bin/python
(Das ist leider meine einzige Wahl für Python.
Das usr/bin/python
Hat keinen Zugriff auf meine Drittanbietermodule und stürzt in der Leitung ab:
from appscript import *
Gibt es eine Möglichkeit für mich zu geben usr/bin/python
Zugriff auf meine Drittanbietermodule? Oder gibt es eine Möglichkeit, den Automator zu sagen, dass sie verwenden sollen /Library/Frameworks/Python.framework/Versions/Current/bin/python
stattdessen?
Ich brauche Automator, um die Python direkt von der zu betreiben Führen Sie das Shell -Skript aus Aktion. Jede Aktion, die Python -Skripte aufruft, die extern zum Automator sind (via bin/bash
, zum Beispiel) funktioniert nicht schnell genug, um nützlich zu sein.
Lösung
Okay, ich konnte es mit einem Hack zum Laufen bringen Wie führe ich ein PHP -Shell -Skript als Automator -Aktion auf Mac OS X aus.
Innen des Führen Sie das Shell -Skript aus Aktion, ich habe das benutzt /bin/sh/
Muschel mit <<EOF
... EOF
zur richtigen Python -Installation.
Also zum Beispiel eingeben
/Library/Frameworks/Python.framework/Versions/Current/bin/python <<EOF
from appscript import *
Numbers = app('Numbers')
EOF
In den Code -Abschnitt der Führen Sie das Shell -Skript aus Aktion wird funktionieren. So kann man die richtige Installation anrufen (/Library/Frameworks/Python.framework/Versions/Current/bin/python
oben) und ihr Programm zwischen den setzen <<EOF
... EOF
Grenzwerte.
Alfred
Dieser Trick funktioniert auch mit Alfred. Wenn Sie verwenden möchten appscript
Stellen Sie mit Alfred einfach sicher, dass Sie bestehen {query}
In die obige Python -Version wie folgt:
/Library/Frameworks/Python.framework/Versions/Current/bin/python script.py {query}
Andere Tipps
Wenn Sie Module installieren, installieren Sie sie normalerweise pro Python -Instanz. In diesem Fall haben Sie sie also für die Python in /library/frameworks/python.framework/version/current/bin/python installiert, und es wird dann nur für diesen Python verfügbar sein. /usr/bin/python ist dann anscheinend eine weitere Python -Installation (ich bin kein OS X -Experte).
Um es für die Installation/usr/bin/python zur Verfügung zu stellen, installieren Sie sie für/usr/bin/python.