You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppleScript执行Python脚本遇模块及驱动路径问题求助

解决AppleScript执行Python脚本的依赖与PATH问题

问题1:ModuleNotFoundError(找不到requests模块)

终端能正常运行但AppleScript报错,核心原因是AppleScript的shell环境变量和终端不一致,默认未包含pip3安装模块的路径。

解决步骤:

  1. 在终端执行which python3,获取你实际使用的Python3完整路径(比如/opt/homebrew/bin/python3或/usr/local/bin/python3)。
  2. 在AppleScript中调用该完整路径的Python,而非仅用python3。示例:
    do shell script "/opt/homebrew/bin/python3 /Users/you/your_script.py"
    
  3. 若仍有问题,可将终端的PYTHONPATH变量加入AppleScript的shell环境:
    先在终端执行echo $PYTHONPATH得到路径,再修改AppleScript:
    do shell script "export PYTHONPATH=/path/from/echo && /opt/homebrew/bin/python3 /Users/you/your_script.py"
    

问题2:WebDriverException(geckodriver不在PATH中)

同样是环境变量PATH的差异,AppleScript默认的PATH不包含geckodriver所在目录。

解决方法二选一:

方法1:在AppleScript中扩展PATH

  1. 在终端执行which geckodriver,获取其所在目录(比如/usr/local/bin)。
  2. 在AppleScript的shell命令中把该目录加入PATH,再执行脚本:
    do shell script "export PATH=$PATH:/usr/local/bin && /opt/homebrew/bin/python3 /Users/you/your_script.py"
    

方法2:在Python脚本中直接指定geckodriver路径

无需依赖环境变量,直接在selenium代码里写死路径:

  • 旧版selenium:
    from selenium import webdriver
    driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
    
  • 新版selenium(4.x+):
    from selenium import webdriver
    from selenium.webdriver.firefox.service import Service
    
    service = Service('/usr/local/bin/geckodriver')
    driver = webdriver.Firefox(service=service)
    

内容的提问来源于stack exchange,提问作者Lacer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 21:37:08