如何在Apple系统中使用Applescript执行Python?

问题描述 投票:0回答:1

我在从 applescript 执行 python 时遇到问题。

我使用此文件夹、文件和系统创建了此测试:

  1. Anaconda 最新版本 Anaconda3-2023.09-0-MacOSX-x86_64
  2. 名为 pymac 的桌面文件夹,位于 /Users/andrea/Desktop 和文件 test.py
with open("/Users/andrea/Desktop/pymac/output2.txt", "w") as f:
    f.write("Hello")
  1. 在文件夹 /Users/andrea/Library/Application Scripts/com.microsoft.Excel 脚本文件 test.scpt:
on test()
    do shell script "cd ~/Desktop/pymac; /Users/andrea/AnacondaNew/anaconda3/bin/python /Users/andrea/Desktop/pymac/test.py"
end test

其他脚本test2.scpt:

on test()
    do shell script "/usr/bin/python3 /Users/andrea/Desktop/pymac/test.py"
end test

从航站楼出发:

命令

/usr/bin/python3 /Users/andrea/Desktop/pymac/test.py

有效,来自 test2.scpt 的相同命令不适用于脚本编辑器和带有 osascript 的终端

命令

/Users/andrea/AnacondaNew/anaconda3/bin/python /Users/andrea/Desktop/pymac/test.py 

有效,如果我使用 scpt 文件或 osascript,也会出现同样的错误

python anaconda applescript
1个回答
0
投票

向脚本添加调试以帮助查找更多信息

try:
    with open("/Users/andrea/Desktop/pymac/output2.txt", "w") as f:
        f.write("Hello")
except Exception as e:
    with open("/Users/andrea/Desktop/pymac/errorlog.log", "w") as f:
        f.write("Err: " + str(e))

并确保设置了环境变量,包括 PythonPath CondaPath 和 Scriptpath

set condaPath to "/path/to/conda"
set pythonPath to "/path/to/python"
set scriptPath to "/Users/andrea/Desktop/pymac/test.py"
© www.soinside.com 2019 - 2024. All rights reserved.