当从zsh执行时,Automator在python脚本中找不到包导入

2024-06-16 12:56:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道以前有人问过很多不同的问题,但我似乎找不到任何有效的方法。你知道吗

我有一个automator任务,它运行python脚本(通过自制的v3.7),该脚本从OS Catalina中的automator shell脚本(/bin/zsh)导入包guessit(v3)。我将脚本的输出设置为回显到自动程序任务创建的日志中。我已经能够将python脚本简化为这样,以展示有问题的行为:

from guessit import guessit
print("hello world")
  • 实际上,automator日志输出是空的(我猜脚本失败了,但是错误是隐藏的)。脚本执行后的其他shell回声仍显示在日志中)
  • 如果我删除导入,我会在automator日志中看到“hello world”。你知道吗
  • 如果我从终端运行python脚本,包括导入,我会在终端中得到“helloworld”。你知道吗
  • 如果我运行带有导入的automator任务,如/bin/sh,并且在OS Mojave中,我在automator日志中得到“hello world”。你知道吗

这让我相信,当我升级到Catalina和/或zsh时,automator脚本中的路径出现了问题。你知道吗

谢谢你的帮助!你知道吗


Tags: 方法程序脚本终端helloworldbinos
1条回答
网友
1楼 · 发布于 2024-06-16 12:56:44

我在shell脚本的顶部包含了我的路径,并且简单的导入按预期工作。在测试时,我将echo $PATH的输出与automator中相同的$PATH进行了比较。Automator的$路径只有/usr/local/bin,而我的终端$路径包含其他条目,比如homebrew的安装目录。我将终端的输出添加到自动机shell脚本的顶部:

PATH="/usr/local/Cellar/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH"

相关问题 更多 >