gpt4 book ai didi

python - 使用 Launchd : imports not found 运行 Python 脚本

转载 作者:行者123 更新时间:2023-11-28 20:25:16 25 4
gpt4 key购买 nike

我一直在尝试使用 launchd 设置脚本以定期运行 python 程序。 python 程序失败是因为它找不到我的导入——我知道这一点是因为我在日志文件中发现了错误。为了解决这个问题,我创建了 ~\.MacOSX\environment.plist,并在那里复制了我的 PYTHONPATH,注销并再次登录。这似乎不足以解决问题,我不知道还能尝试什么。

我正在运行 OSX,10.8.3。

相关主题:

更新:

看来我可以运行以下命令:

launchctl setenv PYTHONPATH $PYTHONPATH

脚本将成功执行。所以,修改我的问题:

  1. 它存储在哪里?我检查了~\.launchd.conf\etc\.launchd.conf,都不存在。
  2. 大概这个设置在我重新启动时被丢弃了。我在哪里可以更改此信息以便 launchd 可以找到它?

最佳答案

要设置特定作业的环境,您应该在作业定义本身中使用 EnvironmentVariables 键:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.app</string>
<key>Program</key>
<string>/path/to/your/script</string>
<key>EnvironmentVariables</key>
<dict>
<key>PYTHONPATH</key>
<string>/your/python/path</string>
</dict>
</dict>
</plist>

您可以通过为守护进程编辑 /etc/launchd.conf/etc/launchd-user 来为 launchd(8) 服务定义默认环境变量。 conf 代理。后一个有效但没有记录。当前记录(但不受支持)的每用户配置文件是 $HOME/.launchd.conf

这些配置文件包含一系列 launchctl(1) 子命令。你想要的是:

setenv PYTHONPATH /your/python/path

更新 /etc/launchd.conf 在 Mac OS X 10.10 及更高版本中不受支持。在这些系统上,您必须在每个作业的基础上定义环境变量。

关于python - 使用 Launchd : imports not found 运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com