Python Splinter geckodriver 路径 OSX
Python Splinter geckodriver PATH OSX
在 Whosebug 上阅读了大量答案后,我发现为了让 Splinter 工作,我需要将 geckodriver 可执行文件添加到我的 PATH 变量中。
这是我所做的:
在终端中:
echo 'export PATH=$PATH: /Applications/anaconda/pkgs/geckodriver
然后我通过以下方式确认它在那里:
echo $PATH
...显示:
/Applications/anaconda/pkgs/geckodriver:...
然后我尝试了这个(在重新启动我的 Spyder IDE 之后):
from splinter import Browser
browser = Browser('firefox')
...仍然出现此错误:
WebDriverException: 'geckodriver' executable needs to be in PATH.
将您的 geckodriver
二进制文件移动到 /usr/bin/
来自linfo.org(强调我自己的):
PATH is an environmental variable in Linux and other Unix-like
operating systems that tells the shell which directories to search for
executable files
换句话说,问题(除了路径中额外的 space 之外)是您将二进制文件本身的路径添加到搜索路径而不是 目录 其中包含该二进制文件。如果您再次尝试使用 export PATH=$PATH:/Applications/anaconda/pkgs
并确认 geckodriver
二进制文件是可执行的并且直接存在于 /Applications/anaconda/pkgs
目录(或路径中的任何其他目录)中,事情应该会按预期工作。
或者,您当然可以将二进制文件默认放置在 OSX 搜索路径中的某个目录中,例如 /usr/local/bin
、/bin
或 @Rubi Jihantoro 建议,/usr/bin
为了查明 shell 是否可以找到你的二进制文件,你总是可以 运行 which
在那个二进制文件上,它会打印出找到二进制文件的位置,如果在任何地方,例如
> which geckodriver
/Applications/anaconda/pkgs/geckodriver
在 Whosebug 上阅读了大量答案后,我发现为了让 Splinter 工作,我需要将 geckodriver 可执行文件添加到我的 PATH 变量中。
这是我所做的:
在终端中:
echo 'export PATH=$PATH: /Applications/anaconda/pkgs/geckodriver
然后我通过以下方式确认它在那里:
echo $PATH
...显示:
/Applications/anaconda/pkgs/geckodriver:...
然后我尝试了这个(在重新启动我的 Spyder IDE 之后):
from splinter import Browser
browser = Browser('firefox')
...仍然出现此错误:
WebDriverException: 'geckodriver' executable needs to be in PATH.
将您的 geckodriver
二进制文件移动到 /usr/bin/
来自linfo.org(强调我自己的):
PATH is an environmental variable in Linux and other Unix-like operating systems that tells the shell which directories to search for executable files
换句话说,问题(除了路径中额外的 space 之外)是您将二进制文件本身的路径添加到搜索路径而不是 目录 其中包含该二进制文件。如果您再次尝试使用 export PATH=$PATH:/Applications/anaconda/pkgs
并确认 geckodriver
二进制文件是可执行的并且直接存在于 /Applications/anaconda/pkgs
目录(或路径中的任何其他目录)中,事情应该会按预期工作。
或者,您当然可以将二进制文件默认放置在 OSX 搜索路径中的某个目录中,例如 /usr/local/bin
、/bin
或 @Rubi Jihantoro 建议,/usr/bin
为了查明 shell 是否可以找到你的二进制文件,你总是可以 运行 which
在那个二进制文件上,它会打印出找到二进制文件的位置,如果在任何地方,例如
> which geckodriver
/Applications/anaconda/pkgs/geckodriver