我編寫了一個使用appscript的python腳本來跟蹤我當前活動的窗口。我通過launchd運行它,但是當我這樣做時,它無法導入appscript。我已經在plist中設置了PYTHONPATH用於啓動,但我認爲launchd不會讀取站點包中的.pth文件。有沒有辦法讓它做到這一點?launchd執行python腳本,但導入失敗
我的腳本是在這裏:https://github.com/katylava/macwintracker
這是的launchd plist中:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>label</key>
<string>com.katylavallee.wintracker</string>
<key>ProgramArguments</key>
<array>
<string>/Users/kyl/Library/Application Support/com.katylavallee.wintracker/wintracker.py</string>
<string>1</string>
<string>1</string>
</array>
<key>Environment Variables</key>
<dict>
<key>PYTHONPATH</key>
<string>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages</string>
</dict>
<key>StandardErrorPath</key>
<string>/Users/kyl/Library/Logs/com.katylavallee.wintracker/wintracker_err.log</string>
<key>StandardOutPath</key>
<string>/Users/kyl/Library/Logs/com.katylavallee.wintracker/wintracker.log</string>
<key>StartInterval</key>
<integer>3</integer>
</dict>
</plist>
和錯誤:
Traceback (most recent call last):
File "/Users/kyl/Library/Application Support/com.katylavallee.wintracker/wintracker.py", line 5, in <module>
from appscript import app, its
ImportError: No module named appscript
的Python腳本工作正常,在命令行。
謝謝!我完全看錯了方向。我修復了它,所以我的安裝腳本用'which python'的輸出替換了shebang路徑。爲了完整起見,我將EnvironmentVariable留在那裏,併爲PATH添加一個鍵。 – 2011-04-07 18:25:55