我的Python脚本在终端中运行得很好,但是当我试图使用launchd(使用名为Lingon的软件设置)将其设置为每天运行一次时,我就是无法运行它。从我所读到的一切来看,最好从shell脚本调用Python脚本(我在Macbook上,运行Yosemite)。所以,这就是我要做的。当脚本要运行时,我得到的错误是:
未设置TERM环境变量。在
python3:没有这样的文件或目录
在这一点上,我很确定这是一个环境问题,但无论我怎么尝试,我都无法让它运行。顺便说一句,我可以用这种方式让shell脚本按计划运行:
#!/bin/bash
echo "hello world."
当我尝试运行这个程序时,问题就出现了:
^{pr2}$另外,尽管我已经用电脑工作了很长时间,但我对很多事情还是很无知,所以请告诉我如何像新手一样解决这个问题。在
根据文章here,您需要为launchd创建一个.plist,如下所示:
然后:
^{pr2}$这里有一篇文章涉及environment variables
我已经尝试了所有提到的,特别感谢Padraic,但似乎没有任何效果。这很奇怪,因为当脚本从终端运行时运行得很好,但是在从launchd运行时会出现错误。当我无法从终端运行时,我无法从终端运行错误。很奇怪。但下面是我如何让它在终端和从launchd按时运行。首先,我改变了shebang线:
为此:
^{pr2}$然后,我必须在脚本的其余部分指定文件的完整路径,例如:
为此:
不管怎样,现在一切正常,但我相信我遇到的问题可能与我把Mac电脑升级到优胜美地操作系统有关。有人提到约塞米蒂可能有一个关于launchd的bug/launchd.conf/launchctl. 好吧,我想相信不是我在过去的4天里试图让这件事发挥作用…但谁知道呢?在
相关问题 更多 >
编程相关推荐