如何在pyinstaller中包含chromedriver?

mon*_*ami 11 python windows selenium pyinstaller selenium-chromedriver

我正在使用pyinstaller来创建我的python脚本的可执行文件.
在脚本中我正在使用这些导入:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
etc...
Run Code Online (Sandbox Code Playgroud)

问题是,在运行时pyinstaller myscript.py,它将导致包括Firefox,而不是Chrome.在结果文件夹c:...\dist\myscript\selenium\webdriver中有一个firefox文件夹,所以它只是跳过chromedriver,对我来说这是一个严重的问题,因为脚本需要与Chrome一起运行.
围绕这个主题只有几个问题,但没有解决问题的答案.
我正在考虑将--hidden-import MODULENAME标签添加到命令中,但chromedriver.exe不是模块...谢谢

mon*_*ami 6

它应该作为二进制文件添加,因为它是一个二进制文件...
所以需要一个自定义spec文件,其中chromedriver在本地系统上的路径和相对于dist\myscript的所需位置应该被定义,所以它看起来像什么像这样:

.....
a = Analysis(['myscript.py'],
             pathex=['path\\to\\my\\script'],
             binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ],
             datas=None,
....
Run Code Online (Sandbox Code Playgroud)

然后使用此spec文件运行pyinstaller: pyinstaller myscript.spec myscript.py