MacOS下已安装geckodriver仍提示需在PATH中的问题求助
解决MacOS下Python IDLE中Selenium找不到geckodriver的问题
我遇到过一模一样的情况!问题出在IDLE的环境变量PATH和终端的PATH不一致——你从Launchpad或Finder打开的IDLE不会加载终端的shell配置(比如/.zshrc或/.bash_profile),所以它找不到/usr/local/bin里的geckodriver,哪怕终端里能正常定位到。
给你几个实用的解决办法:
方法1:代码里直接指定geckodriver路径
最简单的临时解决方式,在初始化Firefox驱动时手动指定驱动的绝对路径:
from selenium import webdriver # 直接用你查到的geckodriver路径 browser = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
这样不用改任何环境变量,代码就能直接找到驱动程序。
方法2:从终端启动IDLE
如果不想每次都写路径,你可以从终端里启动IDLE,这样它会继承终端的PATH环境变量:
- 打开终端
- 输入对应Python版本的IDLE命令,比如你用的是Python3.6,就敲:
idle3.6
从这里打开的IDLE就能识别到/usr/local/bin里的geckodriver,直接运行原来的代码即可。
方法3:永久修改IDLE的PATH(进阶)
如果你想让从Launchpad打开的IDLE也能识别到路径,可以修改IDLE的启动配置:
- 找到IDLE的应用包,一般在
/Applications/Python 3.6/IDLE.app - 右键选择「显示包内容」,进入
Contents/MacOS目录 - 编辑里面的
IDLE脚本,在开头添加一行:
export PATH="/usr/local/bin:$PATH"
保存后,再从Launchpad打开IDLE,PATH就会包含/usr/local/bin了。
这几个方法里,方法1和2最容易上手,推荐先试试方法2,长期用起来最省心。
内容的提问来源于stack exchange,提问作者doctopus
相关产品推荐
相关产品推荐

