Я запускаю следующий импорт python в скрипте, который отлично работает из командной строки в терминале и из записной книжки ipython.
#!/usr/bin/python
import os
import re
import urllib
import urllib2 as ul
import sys
from bs4 import BeautifulSoup as bs
Когда он вызывается из файла .plist через запуск Mac, я получаю следующую ошибку:
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, который работает правильно. Не уверен, почему скрипт не может импортировать bs4 только при вызове launchd.
<?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>
sudo pip freeze | grep beautifulsoup4
и посмотреть, установлен ли пакет для суперпользователя? - person wpercy   schedule 25.11.2015