باستخدام وحدات الطرف الثالث مع Python في خدمة Automator
سؤال
لقد قمت بتثبيت py-appscript على الجهاز الخاص بي ويمكن استخدامه مع تثبيت Python على /Library/Frameworks/Python.framework/Versions/Current/bin/python
.
أحاول استخدام هذا التثبيت من Py-Appscript مع خدمة Automator. للقيام بذلك ، أستخدم تشغيل البرنامج النصي شل العمل ثم تعيين ملف صدَفَة إلى usr/bin/python
(وهو خياري الوحيد لبيثون ، لسوء الحظ).
ال usr/bin/python
لا يبدو أن لديه حق الوصول إلى وحدات الطرف الثالث والتعطل على الخط:
from appscript import *
هل هناك طريقة لي أن أقدم usr/bin/python
الوصول إلى وحدات الطرف الثالث الخاص بي؟ أم أن هناك طريقة لإخبار التلقائي للاستخدام /Library/Frameworks/Python.framework/Versions/Current/bin/python
في حين أن؟
أحتاج إلى تشغيل الآلية مباشرة من تشغيل البرنامج النصي شل عمل. أي إجراء يدعو برامج نصية Python خارجية إلى Automator (عبر bin/bash
, ، على سبيل المثال) لا تؤدي بسرعة كافية لتكون مفيدة.
المحلول
حسنًا ، لقد تمكنت من تشغيلها باستخدام اختراق في كيف يمكنني تنفيذ برنامج نصي PHP Shell كإجراء تلقائي على 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 في /library/frameworks/python.framework/versions/current/bin/python ، وسيكون ذلك متاحًا فقط لهذا python. /usr/bin/python هو على ما يبدو تثبيت python آخر (لست خبير OS X).
لإتاحته لتثبيت/usr/bin/python ، قم بتثبيته لـ/usr/bin/python.