Вызов python файла виртуальной среды из applecript - PullRequest
0 голосов
/ 11 января 2020

У меня есть appleScript и python скрипт. Яблочный скрипт должен быть рамкой скрипта python и должен выполнять скрипт python. Скрипт python использует версию и пакеты python, которые сохраняются в виртуальной среде.

Как заставить яблочный скрипт запускать скрипт python внутри виртуальной среды, чтобы все пакеты и python версии этой среды используются?

Мой способ сделать это без яблочного сценария - набрать source virtualenvironment/bin/activate и после этого python /Users/abc/script.py в терминал .

Использование команды applecript

do shell script "source virtualenvironment/bin/activate" 
do shell script "python /Users/abc/script.py"

у меня не работает. Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 11 января 2020

У вас нет для активации virtualenv; в основном это просто устанавливает переменную окружения PATH, чтобы когда ваша оболочка проверяла, какой исполняемый файл использовать для команды python, она находит virtualenvironment/bin/python перед любыми другими исполняемыми файлами python. Просто используйте расширенный полный путь, поэтому /virtualenvironment/bin/python вместо python:

do shell script "v/irtualenvironment/bin/python /Users/abc/script.py"

Вы также можете сделать /Users/abc/script.py исполняемым, сделав первую строку shebang , указывающей на Ваш исполняемый файл virtualenv Python:

#!/virtualenvironment/bin/python

и установка флага исполняемого файла (chmod +x script.py, из терминала).

...