代码之家  ›  专栏  ›  技术社区  ›  TabsNotSpaces

自动机在脚本中找不到python包

  •  0
  • TabsNotSpaces  · 技术社区  · 5 年前

    我有一个automator任务,它运行一个python脚本(通过自制v3.7),从OS Catalina中的automator shell脚本(/bin/zsh)导入包guessit(v3)。我将脚本的输出设置为与automator任务创建的日志相呼应。我已经能够将python脚本缩减为这样,以显示有问题的行为:

    from guessit import guessit
    print("hello world")
    
    • 就其本身而言,自动机日志输出为空(我猜脚本会失败,但错误是隐藏的)。脚本执行后的其他shell回声仍显示在日志中)
    • 如果我从终端运行python脚本,包括导入,我会在终端中得到“hello world”。
    • 如果我使用导入运行automator任务,as/bin/sh,并且在OS Mojave中,我在automator日志中得到“hello world”。

    谢谢你的帮助!

    0 回复  |  直到 5 年前
        1
  •  0
  •   TabsNotSpaces    5 年前

    我将路径包含在shell脚本的顶部,简单的导入按预期工作。在测试时,我比较了 echo $PATH 到自动机中相同的$PATH。Automator的$PATH仅为/usr/local/bin,而我的终端$PATH包含其他条目,如homebrew的安装目录。我将终端的输出添加到我的automator 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"