我正在使用pyinstaller创建我的python脚本的可执行文件。 在脚本中,我使用了以下导入:
from selenium import webdriver from selenium.webdriver.chrome.options import Options etc...
问题是,运行时pyinstaller myscript.py,它将导致包括Firefox而不是Chrome。在结果文件夹c:… \ dist \ myscript \ selenium \ webdriver中,有一个firefox文件夹,因此它只是跳过了chromedriver,这对我来说是个严重的问题,因为脚本需要与Chrome一起运行。 围绕此主题只有几个问题,但没有答案可以解决。 我正在考虑将--hidden-import MODULENAME标记添加到命令中,但是chromedriver.exe不是模块…谢谢
pyinstaller myscript.py
--hidden-import MODULENAME
它应该作为二进制文件添加为二进制文件,因为它是二进制文件… 因此需要一个自定义的规范文件,其中应定义本地系统上chromedriver的路径以及相对于dist \ myscript的所需位置,因此看起来像这样:
..... a = Analysis(['myscript.py'], pathex=['path\\to\\my\\script'], binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ], datas=None, ....
然后使用以下规范文件运行pyinstaller: pyinstaller myscript.spec myscript.py
pyinstaller myscript.spec myscript.py