从launchd启动的Python脚本给出了ImportError:没有名为foo的模块

从launchd启动的Python脚本给出了ImportError:没有名为foo的模块,python,launchd,Python,Launchd,当python脚本ifttbot.py使用ifttbot.plist(均包含在下面)在launchd下运行时,会出现以下错误: Traceback (most recent call last): File "/usr/bin/iftttbot.py", line 1, in <module> from selenium import webdriver ImportError: No module named selenium ifttbot.py

当python脚本ifttbot.py使用ifttbot.plist(均包含在下面)在launchd下运行时,会出现以下错误:

Traceback (most recent call last):
  File "/usr/bin/iftttbot.py", line 1, in <module>
    from selenium import webdriver
ImportError: No module named selenium
ifttbot.py

#!/opt/local/bin/python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from time import sleep
import requests, threading,glob,sys
import bs4 as bs
from selenium.webdriver.common.action_chains import ActionChains
...
print("Invalid input, usage requires: Username Password AppletID")
...
移除#/opt/local/bin/python不能防止错误

一些终端测试表明,当使用python二进制文件的完整路径时,找不到模块,否则脚本将按预期运行:

$ which python
/opt/local/bin/python

$ /opt/local/bin/python iftttbot.py
Traceback (most recent call last):
  File "iftttbot.py", line 1, in <module>
    from selenium import webdriver
ImportError: No module named selenium

$ python iftttbot.py
Invalid input, usage requires: Username Password AppletID

$ echo $PATH
/Users/scottmeup/.local/bin:/opt/local/bin:/opt/local/sbin:/Users/scottmeup/.nvm/versions/node/v15.8.0/bin:/Users/scottmeup/opt/anaconda3/bin:/Users/scottmeup/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$which python
/opt/local/bin/python
$/opt/local/bin/python ifttbot.py
回溯(最近一次呼叫最后一次):
文件“ifttbot.py”,第1行,在
从selenium导入webdriver
ImportError:没有名为selenium的模块
$python ifttbot.py
输入无效,用法要求:用户名密码AppletID
$echo$PATH
/Users/scottmeup/.local/bin:/opt/local/bin:/opt/local/sbin:/Users/scottmeup/.nvm/versions/node/v15.8.0/bin:/Users/scottmeup/opt/anaconda3/bin:/Users/scottmeup/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/versions/3.8/bin:/opt/local/bin:/opt/local/local/bin:/opt/local/local/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
Python 3.7.10


macOS 10.13.6

更改以下行解决了问题:

    <string>exec python /usr/bin/iftttbot.py username password AppletID</string>
exec python/usr/bin/ifttbot.py用户名密码AppletID

exec python3/usr/bin/ifttbot.py用户名密码AppletID
    <string>exec python /usr/bin/iftttbot.py username password AppletID</string>
    <string>exec python3 /usr/bin/iftttbot.py username password AppletID</string>