我在一个脚本中运行以下 python 导入,该脚本可以从终端的命令行和 ipython 笔记本正常工作。
#!/usr/bin/python
import os
import re
import urllib
import urllib2 as ul
import sys
from bs4 import BeautifulSoup as bs
当通过 Mac 启动从 .plist 文件调用它时,我收到以下错误:
11/24/15 1:17:05 PM com.jerry.sat_images[668] Traceback (most recent call last):
11/24/15 1:17:05 PM com.jerry.sat_images[668] File "/Users/jerrykallam/python_practice/sat_image.py", line 6, in <module>
11/24/15 1:17:05 PM com.jerry.sat_images[668] import bs4
11/24/15 1:17:05 PM com.jerry.sat_images[668] ImportError: No module named bs4
11/24/15 1:17:05 PM com.apple.launchd.peruser.501[165] (com.jerry.sat_images[668]) Exited with exit code: 1
从命令行和 ipython bs4 导入,脚本工作正常。这是似乎可以正常工作的 .plist 代码。不知道为什么脚本只有在被launchd调用时才能导入bs4。
<?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.jerry.satimages</string>
<key>ProgramArguments</key>
<array>
<string>python</string>
<string>/Users/jerrykallam/python_practice/sat_image.py</string>
</array>
<key>StartInterval</key>
<integer>360</integer>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>