从launchd启动的Python脚本给出了ImportError:没有名为foo的模块
当python脚本ifttbot.py使用ifttbot.plist(均包含在下面)在launchd下运行时,会出现以下错误:从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
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>